为什么React的props不可变
首先,prop 作为组件对外暴露出去的接口,当外部世界需要给组件传入数据或函数时(props来源gaodai$ma#com搞$$代**码网 支持任何 JS 数据类型,所以不只是静态数据),通过 prop 属性传给子组件,组件接收到的 props 已成既定,不能改变,因为react组件应该是纯函数,相同的输入,应该产生相同的输出,其是由数据驱动的(组件外部的数据prop / 组件内部的数据state))。
Props
Props是Properties的简写。它们是只读组件,工作方式类似于HTML属性。Prop是一种将数据从父组件传递给子组件的方法。让我们用一个例子来理解这一点。
正如我们已经知道的,react组件以树的形式安排UI,其中父组件成为根组件,子组件成为分支和子分支。现在假设父组件希望将数据发送到它的一个深度嵌套组件。假设您需要从组件1向组件6发送一个属性。你会怎么做呢?
不能将属性直接传递给目标组件。这是因为React遵循这样的规则:属性必须从父组件流向直接的子组件。这意味着在发送属性时不能跳过子组件层,子组件也不能将属性发送回父组件。您可以使用默认的道具,以防父组件没有向下传递道具以便它们仍然被设置。这就是React具有单向数据绑定的原因。
因此,在本例中,我们需要逐层发送数据,直到它到达目标子组件。此路径中的每个组件都必须从其父组件接收该属性,然后将该属性作为接收重发到其子组件。这个过程会重复,直到属性到达它的目标组件。
由于这些属性只能从父组件传递,因此不能更改它们。
更多React相关技术文章,请访问gaodaima搞代码网进行学习!
以上就是为什么React的props不可变的详细内容,更多请关注gaodaima搞代码网其它相关文章!