我正在寻找另一个问题的答案,我找到了这个答案(link)我只是好奇为什么修改自己的道具是一种反模式,为什么不是这样修改自己的状态是不是和反模式?
答案 0 :(得分:3)
在反应中,道具是组件生命周期中不太可能改变的数据对象,状态是数据在组件的生命周期中可能会更改。
它有助于为开发人员放置做/不做改变的事情创建明确的规则。
通过确切地知道数据更改将严格来自父级(作为道具)或内部作为状态来快速响应更新页面。
如果state / props相同,那么确切的函数会松散地检查,然后是https://github.com/facebook/react/blob/master/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js#L881-L883
我建议阅读有关如何“协调”数据以进行更改并对dom进行更新的内容。 https://facebook.github.io/react/docs/reconciliation.html