Redux初始状态值变得未定义
下面是我的初始默认状态值Redux初始状态值变得未定义,redux,state,Redux,State,下面是我的初始默认状态值 export const parameterInitialState = { id: '', name: '', parameterSettings: parameterSettingsInitialState, parameterMediaSettings: parameterMediaSettingsInitialState, }; export const parameterSettingsInitialState = {
export const parameterInitialState = {
id: '',
name: '',
parameterSettings: parameterSettingsInitialState,
parameterMediaSettings: parameterMediaSettingsInitialState,
};
export const parameterSettingsInitialState = {
attributeId: '',
value: '',
};
export const parameterMediaSettingsInitialState = {
barcodeSupported: false,
mediaTypeId: '',
qrcodeSupported: false,
scratchOffPINSupported: false,
};
在parameterState reducer中,我使用上述parameterInitialState
const initialState = {
parameterSettings: parameterInitialState,
};
export default function parameterState( state = initialState, action ) {
switch ( action.type ) {
case FETCH_PARAMETER_SUCCESS:{
return { ...state, ...action.payload };
}
default:
return state;
}
}
但是我的问题是在初始状态下,对象参数设置和参数设置变得未定义更改初始状态变量的定义顺序,在给定顺序下,变量
参数设置SinitialState
和参数设置InitialState
将返回未定义
因此,请确保先定义子对象变量,然后是计划包含它们的父对象
export const parameterSettingsInitialState = {
attributeId: '',
value: '',
};
export const parameterMediaSettingsInitialState = {
barcodeSupported: false,
mediaTypeId: '',
qrcodeSupported: false,
scratchOffPINSupported: false,
};
export const parameterInitialState = {
id: '',
name: '',
parameterSettings: parameterSettingsInitialState,
parameterMediaSettings: parameterMediaSettingsInitialState,
};
用参数设置SinitialState
和参数设置InitialState
作为数组更新了答案:
export const parameterSettingsInitialState = [{
attributeId: '',
value: '',
}];
export const parameterMediaSettingsInitialState = [{
barcodeSupported: false,
mediaTypeId: '',
qrcodeSupported: false,
scratchOffPINSupported: false,
}];
export const parameterInitialState = {
id: '',
name: '',
parameterSettings: parameterSettingsInitialState,
parameterMediaSettings: parameterMediaSettingsInitialState,
};
更改初始状态变量的定义顺序,在给定的顺序中,变量
参数设置SinitialState
和参数设置InitialState
将返回未定义
因此,请确保先定义子对象变量,然后是计划包含它们的父对象
export const parameterSettingsInitialState = {
attributeId: '',
value: '',
};
export const parameterMediaSettingsInitialState = {
barcodeSupported: false,
mediaTypeId: '',
qrcodeSupported: false,
scratchOffPINSupported: false,
};
export const parameterInitialState = {
id: '',
name: '',
parameterSettings: parameterSettingsInitialState,
parameterMediaSettings: parameterMediaSettingsInitialState,
};
用参数设置SinitialState
和参数设置InitialState
作为数组更新了答案:
export const parameterSettingsInitialState = [{
attributeId: '',
value: '',
}];
export const parameterMediaSettingsInitialState = [{
barcodeSupported: false,
mediaTypeId: '',
qrcodeSupported: false,
scratchOffPINSupported: false,
}];
export const parameterInitialState = {
id: '',
name: '',
parameterSettings: parameterSettingsInitialState,
parameterMediaSettings: parameterMediaSettingsInitialState,
};
谢谢,它确实起作用了,我想将参数SettingSinitialState作为数组列表中的第一个元素。简单地说,parameterSettings应该是parameterSettingsInitialState类型的数组。我该怎么办that@Anna不客气。如果我没有弄错的话,将
参数setingsinitialstate
定义从类型对象更改为类型数组应该可以做到这一点<代码>常量参数SettingSinitialState=[{attributeId:'',值:'',}]代码> > @安娜。如果这个或任何答案已经解决了您的问题,请单击“检查标记”。我尝试过“代码>导出const参数NealAltRealt= {ID:A``,No:A``,参数设置:[{NealServestSnItIAL状态} ],PosialMediaseTeStudio:[{ValueMistaStIn SnItIAL状态} ],};代码>但它不起作用谢谢,它起作用了,我想把参数SettingSinitialState作为数组列表中的第一个元素。简单地说,parameterSettings应该是parameterSettingsInitialState类型的数组。我该怎么办that@Anna不客气。如果我没有弄错的话,将参数setingsinitialstate
定义从类型对象更改为类型数组应该可以做到这一点<代码>常量参数SettingSinitialState=[{attributeId:'',值:'',}]代码> > @安娜。如果这个或任何答案已经解决了您的问题,请单击“检查标记”。我尝试过“代码>导出const参数NealAltRealt= {ID:A``,No:A``,参数设置:[{NealServestSnItIAL状态} ],PosialMediaseTeStudio:[{ValueMistaStIn SnItIAL状态} ],};代码>但它不起作用