即使看到狀態被正確更新,我仍然遇到反應組件無法重新呈現的問題。我正在使用REDX,我已經閱讀過狀態變異通常是這個問題/原因,我只是不認爲我這樣做。我正在更新的值在狀態內嵌套3個深度。React/Redux組件不會重新渲染
下面是代碼:
import { RECEIVE_CURRENT_SCAN_RESULT } from '../constants';
const initialState = {
currentScanResult: {info:{}, results:[]},
};
[RECEIVE_CURRENT_SCAN_RESULT]: (state, payload) =>
Object.assign({}, state, {
currentScanResult: Object.assign(state.currentScanResult, payload)
}),
export function createReducer(initialState, reducerMap) {
return (state = initialState, action) => {
const reducer = reducerMap[action.type];
return reducer
? reducer(state, action.payload)
: state;
}
}
用一個建議的solotion發表了一個答案,並且提出了一個非常小的編輯問題(Stackoverflow需要關於問題的'javascript'標記,否則語法高亮不起作用,這就是爲什麼你的代碼和發佈的答案中的任何代碼只是看起來像沒有顏色的灰色文本)。 – jonahe
PS。我只是給我的答案加了一個說明。 – jonahe