反应上下文-Context.Consumer与Class.contextType

时间:2019-01-21 04:26:06

标签: reactjs react-context

我正在学习一些新近引入的React.Context API,但是我注意到各个示例在使用它方面存在一些不一致之处。有些使用原始的 Context.Consumer 方法,而另一些(包括React Docs)则使用静态的 Class.contextType 方法。有什么区别?为什么不一致?

1 个答案:

答案 0 :(得分:4)

结果证明,静态Class.contextType newly introduced on React v16.6.0,因为 Context.Consumer 方法在类组件上被证明是有问题的。而且,两者的使用之间似乎并没有一个主要区别,这是静态的Class.Context仅允许您订阅单个上下文。

好消息是,它们似乎都可以可靠地监听Co​​ntext的变化,这意味着,如果您只有一个Context API,那么两者都足够好。