当前位置: 首页 > 面试题库 >

改变React状态的首选方式是什么?

太叔航
2023-03-14
问题内容

假设我有一个普通对象列表,this.state.list然后可以用来呈现子级列表。那么将对象插入其中的正确方法是什么this.state.list

以下是我认为它将起作用的唯一方法,因为您不能this.state像文档中提到的那样直接更改。

this._list.push(newObject):
this.setState({list: this._list});

这对我来说似乎很丑。有没有更好的办法?


问题答案:

concat 返回一个新数组,所以你可以做

this.setState({list: this.state.list.concat([newObject])});

另一个选择是React的不变性助手

  var newState = React.addons.update(this.state, {
      list : {
        $push : [newObject]
      }
  });

  this.setState(newState);


 类似资料:
  • //你想做blog.score=5 我不知道是否还有其他的方法,但是有没有比这些更好的方法呢? 什么关于

  • 本文向大家介绍在react中怎样改变组件状态,以及状态改变的过程是什么?相关面试题,主要包含被问及在react中怎样改变组件状态,以及状态改变的过程是什么?时的应答技巧和注意事项,需要的朋友参考一下 可以从生命周期的角度来答,对于已经挂载的组件,props 传进来后首先会调用componentWillReceiveProps,然后调用shouldComponentUpdate,若shouldCom

  • 每个插件都可以定义自己的内容(通过),这些内容应该添加到我的应用程序中的特定位置(进入)。在该中可以看到的插件中总是只有一个。 我找不到实现这一目标的首选方法。我应该用插件中的新部分替换当前可见的部分吗?或者只是以某种方式设置已经可见的部分的内容(可能通过setContributionUri)。 我查看了。看起来它可以根据实例化,但它只有一些方法可以使新的可见。我需要将新的添加到现有的中,并可能删

  • 我有2个选择国家输入,我想重置默认占位符时,重置一个表单内的所有状态。我使用了2个状态变量来存储国家,我得到了一个重置我的状态的函数,但是选择输入不重置为默认值。它将在最后选定的国家/地区保持选中状态。我将状态重置为空,但无法使其工作。你能帮我一下吗? 这是我的选择组件,如果我在它上使用值选项,它崩溃,我不能改变国家保留在占位符默认消息。 更新 值选项在其中崩溃,因为它需要接收和对象的值和标签像这

  • 问题内容: 我知道状态允许我们创建动态和交互的组件,但是我想深入了解状态。 有人可以通过一个真实的例子来帮助我理解React中的状态吗? 问题答案: 在上面的代码中,它有一个带有:count 的对象。 状态可以简单地理解为特定组件/应用在该时间点的值。在上面的示例中,当应用首次运行时,该应用处于状态 如我们所见,有两个按钮,它们使用来更新值,它只是更新应用计数的“状态”,并且只要状态改变,应用都会

  • 问题内容: 我正在阅读reactjs文档的Forms部分,只是尝试了这段代码来演示用法(JSBIN)。 在浏览器中更新值时,回调内的第二个与第一个相同,为什么在回调范围内看不到结果? 问题答案: 从React的文档中: 不会立即变异,但会创建待处理的状态转换。调用此方法后进行访问可能会返回现有值。无法保证对呼叫的同步操作,并且可以为提高性能而对呼叫进行批量处理。 如果要在状态更改发生后执行某个函数