Javascript 具有可变指数的深度变化状态
我正试图按照[公认答案]中的说明进行操作 在我的特殊情况下,我有一个层,它实际上取决于用户选择的模型。我的结构: 现在在我的reducer中,我尝试了(只想将最喜欢的叶子更改为true): Javascript抱怨道。如果我试图将其提取到变量:Javascript 具有可变指数的深度变化状态,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正试图按照[公认答案]中的说明进行操作 在我的特殊情况下,我有一个层,它实际上取决于用户选择的模型。我的结构: 现在在我的reducer中,我尝试了(只想将最喜欢的叶子更改为true): Javascript抱怨道。如果我试图将其提取到变量: const currentModelToFav = action.payload.model_id; let newStateForFavorites = {...state, models: { ...state.models
const currentModelToFav = action.payload.model_id;
let newStateForFavorites = {...state, models: {
...state.models,
currentModelToFav: {
...state.models.currentModelToFav,
details: {
...state.models.currentModelToFav.details,
favorited: true
}
}
}};
Javascript不关联常量。它会出错-currentModelToFav未定义-
知道我做错了什么吗?谢谢 如果要将变量用作属性名,则必须使用以下结构:
{[variableName] : value}
及
因此,您的对象文字将变成:
const currentModelToFav = action.payload.model_id;
let newStateForFavorites = {...state, models: {
...state.models,
[currentModelToFav]: {
...state.models[currentModelToFav],
details: {
...state.models[currentModelToFav].details,
favorited: true
}
}
}};
如果要将变量用作属性名称,则必须使用以下结构:
{[variableName] : value}
及
因此,您的对象文字将变成:
const currentModelToFav = action.payload.model_id;
let newStateForFavorites = {...state, models: {
...state.models,
[currentModelToFav]: {
...state.models[currentModelToFav],
details: {
...state.models[currentModelToFav].details,
favorited: true
}
}
}};
您需要使用来使用变量拉取对象关键点:
const currentModelToFav = action.payload.model_id;
let newStateForFavorites = {
...state,
models: {
...state.models,
[currentModelToFav]: {
...state.models[currentModelToFav],
details: {
...state.models[currentModelToFav].details,
favorited: true
}
}
}
};
您需要使用来使用变量拉取对象关键点:
const currentModelToFav = action.payload.model_id;
let newStateForFavorites = {
...state,
models: {
...state.models,
[currentModelToFav]: {
...state.models[currentModelToFav],
details: {
...state.models[currentModelToFav].details,
favorited: true
}
}
}
};
嵌套状态通常由嵌套还原器(通过@naomik组合)管理,我正在这样做。这只是其中一个还原程序,其形式只是存储状态的一部分。嵌套状态通常由嵌套还原程序(通过@naomik组合)管理。我正在这样做。这只是其中一个还原器,其形式只是存储状态的一部分。。