gpt4 book ai didi

reactjs - 为什么 React props 是不可变的?

转载 作者:行者123 更新时间:2023-12-03 13:18:17 27 4
gpt4 key购买 nike

我一直在阅读 React 的 Quick Start文档;

Whether you declare a component as a function or a class, it must never modify its own props

这是一个“纯”函数,因为它不会尝试更改其输入,并且始终为相同的输入返回相同的结果:

function sum(a, b) {
return a + b;
}

这是一个“不纯”函数,因为它改变了自己的输入: 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>;
}

为什么 React props 是只读的?

最佳答案

组件应该管理自己的状态,但不应该管理自己的 Prop 。 props 本质上是“由组件所有者管理的状态”。这就是 props 不可变的原因。

React 文档还建议将状态视为不可变的。这是因为直接操作 this.state 会绕过 React 的状态管理,这可能存在潜在危险,因为事后调用 setState() 可能会替换突变你做的。

关于reactjs - 为什么 React props 是不可变的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47471131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com