Подтвердить что ты не робот

FlowType React Context

Есть ли способ сделать тип React Context безопасным с типом потока?

Например:

Button.contextTypes = {
  color: React.PropTypes.string
};
4b9b3361

Ответ 1

К сожалению, это по своей сути невозможно, потому что Context не известен во время компиляции (так мне сказали).

Ответ 2

Немного обходного пути, которое я использую, это вытягивание контекста от потребителя на родительском уровне, а затем вызов proptypes у ребенка...

родитель

//parent
class Parent extends component {
render(){
return (
    <Consumer>{(context)=>{
       const { color } = context
       return(
          <div>
             <Button color={color} />
          </div>
        )}}</Consumer>
}

ребенок

//Button 
... 
Button.contextTypes = {
  color: React.PropTypes.string
};
...