当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在react.js中更新道具?

丁和歌
2023-03-14

共有1个答案

葛勇锐
2023-03-14

React的哲学是道具应该是不可变的和自上而下的。这意味着父级可以向子级发送它喜欢的任何道具值,但子级不能修改自己的道具。你所做的是对传入的道具做出反应,然后,如果你想,根据传入的道具修改你孩子的状态。

所以你永远不会更新你自己的道具,或者父母的道具。曾经。你只更新你自己的状态,并对父母给你的支持值做出反应。

如果您希望在子级上发生一个修改状态的操作,那么您所做的是向子级传递一个回调,它可以在给定的操作上执行该回调。然后,这个回调可以修改父级的状态,然后在重新呈现时向子级发送不同的道具。

 类似资料:
  • 问题内容: 在开始使用React.js之后,似乎是静态的(从父组件传入),而基于事件的更改则似乎是静态的。但是,我在文档中注意到对的引用,其中具体包括以下示例: 这似乎意味着,性能可以改变根据的比较组件来。我想念什么?道具如何更改,或者我误认为道具的调用位置? 问题答案: 除非组件是数组或对象,否则组件不能更新其自身的props(即使可能,组件也要更新其自己的props是反模式),但是可以更新其状

  • choice5是一个JComboBox 从choice5中选择项目时 被称为(编辑:对于我可以选择的每个项目,我可能有一个不同的jtable我想要显示) 编辑(SSCCE): MyTableModel

  • 我正在努力练习techniqual测试,我必须计算DNA序列中的字符数,但无论我做什么,计数器都不会更新,这真的很令人沮丧,因为我用ruby学习代码,它会更新,但Java似乎有一个问题。我知道我的语法有问题,但是我怎么也想不出来。 如果满足条件并重新分配值,它只会一直返回零,而不是加一。

  • 我有这样的Jpa存储库:

  • 我的老师给了我这个 在一个n边正多边形中,所有边都有相同的长度,所有角都有相同的度数。设计一个名为正多边形的类,它包含:一个名为n的私有int数据栏,它定义了多边形中默认值为3的边的数量。一个名为side的私有双数据栏,它存储了默认值为1的边的长度。一个名为X的私有双数据栏,它定义了默认值为0的多边形中心的x坐标。一个名为Y的私有双数据栏,它定义了默认值为0的多边形中心的y坐标。创建具有指定边数、

  • 我是java新手,所以请不要后悔java中的对象和东西正在传递引用的值,但下面是我试图传递对象的代码。当我通过传递到函数中更新值时,a的值没有改变。发生了什么请帮助我。。。