React Native重置状态的某些属性

时间:2018-08-09 09:17:04

标签: javascript reactjs react-native ecmascript-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 个答案:

答案 0 :(得分:1)

尝试传播对象:

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

还应在扩展后定义A: 10,以使其覆盖initialState属性。