Tay*_*tin 0 reactjs redux react-redux
过去我就是Object.assign()这样使用和完成的,但最近我被告知要使用扩展运算符。我想知道这是否是正确的做法,或者这是否会改变状态?
import constants from '../constants';
const initialState = {
all: null
};
export default (state = initialState, action) => {
switch (action.type) {
case 'ITEM_ADDED':
return { ...state, all: state.all.push(action.data) };
default:
return { ...state };
}
};
Run Code Online (Sandbox Code Playgroud)
当你使用方法时你做了一个突变Array::push:
return { ...state, all: state.all.push(action.data) };
Run Code Online (Sandbox Code Playgroud)
正确的方法是使用展开运算符将对象追加到数组而不是 push :
return { ...state, all: [...state.all, action.data] };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4078 次 |
| 最近记录: |