修改嵌套的redux状态而不变异

时间:2017-12-21 16:25:37

标签: javascript reactjs redux react-redux dynamic-arrays

我是否使用此功能改变redux状态?

exec [dbo].[Create_Part] @AssessmentPartId out

我想创建一个结构来保存与应用程序不同部分相关的数据。

2 个答案:

答案 0 :(得分:1)

是的,.push()语句 在以后的调用中发生变异。在第一次调用中,数组是新创建的,因此它不具备变异的条件。在稍后的调用中,您已创建了一个新对象,但复制了现有的数组引用,因此.push()会改变现有数组。

答案 1 :(得分:0)

是。请参阅markerikson的回答。请记住,您可以使用扩展运算符来避免这种情况。

const INITIAL_STATE = {
  guid: []
}

function addDefinition(state = INITIAL_STATE, payload) {

  return {...state, guid: [...state.guid, payload]};

}

此外,您可以避免使用初始状态的if语句。