该应用程序有两个不同的选项卡,每个选项卡都有相同的下拉菜单。我目前正在保存“ selectedTab”(是一个字符串)和“ selectedTabState”(是一个同时包含tab1和tab2,以及用户已选择其选择的字符串)的对象。我能够查看用户所使用的标签,同时还可以在标签之间切换时保存下拉状态。这是一个看起来像的例子。
selectedTab: 'tab1'
selectedTabState: {
tab1: 'dropdownOptionOne',
tab2: 'dropdownOptionTwo'
}
我想做的是使用解构访问用户正在使用的任何选项卡的selectedTabState。我可以做这样的事情吗?
const { selectedStates: { *state of selectedTab* }} = state;
最佳答案
您可以使用Computed property names进行这样的清除
const state = {
selectedTab: 'tab1',
selectedTabState: {
tab1: 'dropdownOptionOne',
tab2: 'dropdownOptionTwo'
}
}
const { selectedTabState: { [state.selectedTab]: value } } = state;
console.log(value)
但是,正如Brian Le所建议的,
state.selectedTabState[state.selectedTab]
更简单