所以我试图将元素添加到我存储在状态中的数组中。我知道你不应该直接改变状态,所以我发现使用File
是最好的方法。
然而,当我尝试这样做时,我会得到一个无限循环。
reducer.js:
concat
结果为const initialState = {
name : null, //puzzle name
start : []
};
export default createReducer(initialState,{
[START_PROCESS]: (state,payload) => {
return Object.assign({},state,{
start : state.start.concat(['test']);
})
}
});
e.g:
['test','test','test','test'...
正常工作start: state.start
会导致start: state.start + 'test'
我不知道是什么导致了这种奇怪的行为。据我所知,状态只是通过创建一个新状态来修改,所以它无法反馈回来。
createReducer.js
testtesttest..
startAction.js
export function createReducer(initialState, reducerMap) {
return (state = initialState, action) => {
const reducer = reducerMap[action.type];
return reducer
? reducer(state, action.payload)
: state;
};
}
viewAction.js
const START_PROCESS = 'START_PROCESS';
export function startProcess(data) {
return {
type : START_PROCESS,
payload : {
data : data //where data is a string
}
}
}