In react context doc,当未分配contextType时子访问时,上下文为空。似乎父和子必须为使用上下文分配propType。
道具也有propTypes但它们不是必需的,那么为什么需要上下文?它只是为更安全地使用上下文而设计的吗?
答案 0 :(得分:0)
是。您的问题的答案已经在您提到的页面上。
如果您希望应用程序稳定,请不要使用上下文。它是一个 实验API,它很可能在未来的版本中破坏 反应。
除非你知道自己在做什么,否则React不希望你使用上下文。这就是我们需要使用上下文时需要明确定义contextTypes
的原因。
相比之下,propTypes
是React附带的公正类型检查工具,可确保开发人员正确传递所有必需的道具。如果您没有正确传递道具,它只会显示一些警告。此外,propTypes
类型检查仅在开发人员模式下工作,并在生产版本中删除。来自React v15.5 propTypes
已弃用,已移至separate package。