【问题标题】:Updating arrays that are part of a React state更新作为 React 状态一部分的数组
【发布时间】:2021-07-04 14:33:31
【问题描述】:

我创建了一个状态,该状态的属性之一是具有任意数量值的数组。使用 setState 功能,我可以完整地操作数组属性,但我想做的是深入研究该属性并更改数组的第 N 个索引。我正在为此苦苦挣扎,似乎我需要用我想要更改的任何内容重建整个数组,然后将新数组与旧数组交换。

【问题讨论】:

    标签: javascript arrays reactjs state


    【解决方案1】:

    我正在为此苦苦挣扎,似乎我需要用我想要更改的任何内容重建整个数组,然后将新数组与旧数组交换。

    是的。

    为设置状态函数提供一个新值,不要改变状态变量。

    setMyState(
        oldState.map((currentValue, index) => {
            if (index === Nth) {
                return newValue;
            } else {
                return currentValue;
            }
        })
    )
    

    【讨论】:

      【解决方案2】:

      你也可以试试

      let newArray = [...this.state.array].map((a, index) => {
          if (index === NthIndex) {
              return newValue
          }
      
          return a
      })
      
      this.setState({ array: newArray })
      

      【讨论】:

      • 这行得通。看来我需要阅读有关 .map 工作原理的更多详细信息。非常感谢帕特尔,我很感激。
      猜你喜欢
      • 2021-01-14
      • 1970-01-01
      • 2020-09-06
      • 2019-11-30
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多