该应用程序有两个不同的选项卡,每个选项卡都有相同的下拉菜单。我目前正在保存“ 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]更简单

07-24 16:43