为什么我们都state和props?为什么我们不只有一个数据源?我想更新一个组件props并让它重新渲染自己及其所有子组件.看起来很简单,但我无法弄清楚如何让组件更新自己的或其父级的道具.
谢谢你的帮助.
我一直在阅读React的快速入门文档;
无论是将组件声明为函数还是类,它都不能修改自己的道具
这是一个"纯"函数,因为它不会尝试更改其输入,并且始终为相同的输入返回相同的结果:
function sum(a, b) {
return a + b;
}
Run Code Online (Sandbox Code Playgroud)
这是一个"不纯"的功能,因为它改变了自己的输入:https: //codesandbox.io/s/9z38xv4x7r
function SayHi(props) {
props.name = "Jim"; // TypeError Cannot assign to read only property 'name' of object '#<Object>'
return <h1>Hi {props.name}!</h1>;
}
Run Code Online (Sandbox Code Playgroud)
为什么React道具是只读的?