代码之家  ›  专栏  ›  技术社区  ›  MoKhajavi75

React Native重置状态的某些属性

  •  0
  • MoKhajavi75  · 技术社区  · 6 年前

    我有一个很长的初始状态,我想重置一些状态 onPress 一个按钮。

    举个例子 this.state :

    this.state = {
      A: "",
      B: 0,
      C: [
        {
          x: 0,
          y: "Palette",
          z: true,
        }
      ],
      tempA: "",
      tempB: 0,
      tempC: [
        {
          x: 0,
          y: "Palette",
          z: true,
        }
      ]
    };
    

    我想重新设置 temp . 所以我创造了:

    const initialState = {
      tempA: "",
      tempB: 0,
      tempC: [
        {
          x: 0,
          y: "Palette",
          z: true,
        }
      ]
    };
    

    但我不知道我怎么能 setState 设置 this.state.A 重新设置 initialState ! 我试过使用:

    setState({ A: 10, initialState })
    // OR
    setState([{ A: 10}, initialState ])
    

    但没有结果!

    知道吗?

    提前谢谢!

    1 回复  |  直到 6 年前
        1
  •  1
  •   hsz    6 年前

    尝试对象扩展:

    setState({ ...initialState, A: 10 })
    

    阿尔索 A: 10 应在展开后定义,以使其覆盖 initialState 财产。