2017-02-22 3 views
6

При использовании flowtype определить опору в context таким образомКак можно использовать метод flowtype для определения опоры в контексте реакции компонента?

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

я получил следующее сообщение об ошибке:

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).

Поэтому я вынужден использовать propTypes.object вместо Object.

ответ

4

Нет, вы не можете использовать тип потока как тип в childContextTypes. Причина в том, что childContextTypes проверяется во время выполнения, а типы потоков не имеют представления во время выполнения. Поэтому «типы» в childContextTypes должны быть значениями, в частности значениями, предоставленными пакетом npm prop-types.

Использование MyType в вашем примере на самом деле является синтаксической ошибкой: MyType появляется в позиции значения свойства объекта, которое должно быть значением, а не типом.

Смежные вопросы