2017-02-22 12 views
6

aşağıdaki hata var bu şekildeBir bileşenin reaksiyon bağlamında bir pervane tanımlamak için akış tipi nasıl kullanılır?

// @flow 
type MyType = Object; 
class CustomView extends React.Component { 
    static childContextTypes = { 
     someProp: MyType 
    } 
    getChildContext() { 
     return { 
      someProp: this.props.someProp 
     }; 
    } 
} 

yılında context bir pervane tanımlamak için flowtype kullanarak:

CustomView: type specification of child context someProps is invalid; the type checker function must return null or an Error but returned a object. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).

Yani propTypes.object yerine Object kullanmak zorundayım.

cevap

4

Hayır, bir Flow türünü childContextTypes yazımında kullanamazsınız. Nedeni, çalışma zamanında childContextTypes kontrol edilir ve Akış türleri herhangi bir çalışma zamanı temsilciliği yoktur. Bu nedenle, childContextTypes'daki "türler" değerleri olmalıdır - özellikle prop-types npm paketi tarafından sağlanan değerler.

Örneğinizde MyType'un kullanılması aslında bir sözdizimi hatasıdır: MyType, bir özellik değil, bir değer olması gereken bir nesne özellik değeri konumunda görünür.

İlgili konular