我正在尝试了解一些代码。您能否告诉我做这个静态contextTypes = {}的目的是什么?为什么我们这样定义它?有什么好处?
static contextTypes = {
product_id: PropTypes.number,
size: PropTypes.number,
loadRelatedProducts: PropTypes.func,
}
您可以在此处找到完整的组件代码-> https://jsfiddle.net/8hbyLopq/1/
以后为开发人员提供的编辑和信息:
因此,我阅读了文档,并且进行了类型检查。
React docs说:
PropTypes导出一系列验证器,可用于确保
您收到的数据有效。在这个例子中,我们使用
PropTypes.string。为道具提供无效值时,
警告将显示在JavaScript控制台中。
有关的问题:
这种类型检查是针对从RelatedProducts组件父级来的道具,是吗?因此,它正在检查RelatedProducts父级是否向我们发送了一个数字product.id?如果没有,将显示控制台日志错误,对吗?
它也可以用于检查其他输入,因为我们在这里从redux动作中导入了loadRelatedProducts函数,对吗?
我是否忘了与此事有关的事情?
最佳答案
这种类型检查是针对从RelatedProducts组件父级来的道具,是吗?因此,它正在检查RelatedProducts父级是否向我们发送了一个数字product.id?如果没有,将显示控制台日志错误,对吗?
正确。对上述所有都是。
它也可以用于检查其他输入,因为我们在这里从redux动作中导入了loadRelatedProducts函数,对吗?
正确。从代码中可以明显看出。
我是否忘了与此事有关的事情?
并不是的。只是进行类型检查,以确保您获得符合条件的上下文:
属于正确的类型(字符串/数字/函数等)
如果通过isRequired
将其设置为必填,则首先传递。否则,可以选择传递它,只要传递的类型正确即可。