【发布时间】:2019-06-01 14:45:24
【问题描述】:
我在 reducer 中有这段代码:
export const getSerieSuccess = (state = INITIAL_STATE, action) => {
return {
...state,
isLoadding: false,
serie: action.serie //action.serie is a object with id, name, genre e status
}
}
我想知道我是否做serie: action.serie,我正在传递一个值或一个引用。我这样做了:
export const getSerieSuccess = (state = INITIAL_STATE, action) => {
const serie = {...action.serie};
return {
...state,
isLoadding: false,
serie
}
}
wai 如何更好地使用函数式编程?
【问题讨论】:
-
你应该做第一个选项,你已经没有通过传播......状态来改变状态,动作只是数据的返回承诺,所以你不必担心。就此而言,它也不会对操作做任何事情。
-
通过函数式编程,您可以轻松地使用简单的第一个解决方案(不涉及对象的副本),因为您知道您也不会在其他地方改变对象。
标签: javascript redux functional-programming reducers