• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

为什么React的props不可变

react 搞代码 4年前 (2021-12-28) 41次浏览 已收录 0个评论

为什么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搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:为什么React的props不可变

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址