为什么在使用上下文时必须指定react context?

时间:2017-05-26 06:42:30

标签: reactjs

In react context doc,当未分配contextType时子访问时,上下文为空。似乎父和子必须为使用上下文分配propType。

道具也有propTypes但它们不是必需的,那么为什么需要上下文?它只是为更安全地使用上下文而设计的吗?

1 个答案:

答案 0 :(得分:0)

是。您的问题的答案已经在您提到的页面上。

  

如果您希望应用程序稳定,请不要使用上下文。它是一个   实验API,它很可能在未来的版本中破坏   反应。

除非你知道自己在做什么,否则React不希望你使用上下文。这就是我们需要使用上下文时需要明确定义contextTypes的原因。

相比之下,propTypes是React附带的公正类型检查工具,可确保开发人员正确传递所有必需的道具。如果您没有正确传递道具,它只会显示一些警告。此外,propTypes类型检查仅在开发人员模式下工作,并在生产版本中删除。来自React v15.5 propTypes已弃用,已移至separate package