【发布时间】:2021-02-09 04:56:56
【问题描述】:
我正在使用 reducer 来管理我的应用程序的各种状态。但是每次我在初始状态中添加一个新键时,就像这样:
const initialState = {
loading: false,
archiveTypes: [],
archiveType: {
id: null,
name: '',
local: '',
description: '',
}
}
在我向 reducer 发送一些信息之前,initialState 永远不会显示新信息。
有没有办法让它从所有信息开始?
我的完整代码:
import * as actionTypes from 'actions';
import produce from 'immer';
const initialState = {
loading: false,
archiveTypes: [],
archiveType: {
id: null,
name: '',
local: '',
description: '',
}
}
const archiveTypeReducer = produce((draft, action) => {
switch (action.type) {
case actionTypes.ARCHIVE_TYPE_GET_ALL_SUCCESS: {
draft.loading = false;
try {
draft.archiveTypes = action.payload
} catch (err) {
console.log(`REDUCER ERROR ${err}`)
}
return draft;
}
case actionTypes.ARCHIVE_TYPE_GET_BY_ID_SUCCESS: {
draft.loading = false;
try {
draft.archiveType = action.payload
} catch (err) {
console.log(`REDUCER ERROR ${err}`)
}
return draft;
}
case actionTypes.ARCHIVE_TYPE_REQUEST_FAILURE: {
draft = initialState
return draft
}
default: {
return draft;
}
}
}, initialState);
export default archiveTypeReducer;
【问题讨论】:
标签: javascript reactjs react-redux