我正在尝试了解一些代码。您能否告诉我做这个静态contextTypes = {}的目的是什么?为什么我们这样定义它?有什么好处?

static contextTypes = {
  product_id: PropTypes.number,
  size: PropTypes.number,
  loadRelatedProducts: PropTypes.func,
}


javascript - 在React组件中使用static contextTypes = {}的原因是什么?-LMLPHP

您可以在此处找到完整的组件代码-> https://jsfiddle.net/8hbyLopq/1/



以后为开发人员提供的编辑和信息:

因此,我阅读了文档,并且进行了类型检查。

React docs说:


  PropTypes导出一系列验证器,可用于确保
  您收到的数据有效。在这个例子中,我们使用
  PropTypes.string。为道具提供无效值时,
  警告将显示在JavaScript控制台中。


有关的问题:


这种类型检查是针对从RelatedProducts组件父级来的道具,是吗?因此,它正在检查RelatedProducts父级是否向我们发送了一个数字product.id?如果没有,将显示控制台日志错误,对吗?
它也可以用于检查其他输入,因为我们在这里从redux动作中导入了loadRelatedProducts函数,对吗?
我是否忘了与此事有关的事情?

最佳答案

这种类型检查是针对从RelatedProducts组件父级来的道具,是吗?因此,它正在检查RelatedProducts父级是否向我们发送了一个数字product.id?如果没有,将显示控制台日志错误,对吗?
  


正确。对上述所有都是。


  
  它也可以用于检查其他输入,因为我们在这里从redux动作中导入了loadRelatedProducts函数,对吗?
  


正确。从代码中可以明显看出。


  我是否忘了与此事有关的事情?


并不是的。只是进行类型检查,以确保您获得符合条件的上下文:


属于正确的类型(字符串/数字/函数等)
如果通过isRequired将其设置为必填,则首先传递。否则,可以选择传递它,只要传递的类型正确即可。

10-08 01:22