Javascript Redux正在更改组件的状态,然后返回初始状态

Javascript Redux正在更改组件的状态,然后返回初始状态,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我是新的Redux开发者。我正在尝试在web应用程序中使用React和Redux创建选项卡组件 当我选择一个选项卡时,我可以在控制台和Redux开发工具中确认该状态已更改,但一旦更改,它就会返回到初始状态,即发生在tabReducer.js中的“tabData”或“tabBulletin” const INITIAL_STATE = { selected: 'tabData' } export default (state = INITIAL_STATE, action) => {

我是新的Redux开发者。我正在尝试在web应用程序中使用React和Redux创建选项卡组件

当我选择一个选项卡时,我可以在控制台和Redux开发工具中确认该状态已更改,但一旦更改,它就会返回到初始状态,即发生在tabReducer.js中的“tabData”或“tabBulletin”

const INITIAL_STATE = { selected: 'tabData' }

export default (state = INITIAL_STATE, action) => {

    switch (action.type) {
        case 'TAB_SELECTED':
            return { ...state, selected: action.payload }
        default:
            return state
    }
}
我不明白如何解决这个逻辑问题。求求你,有谁能帮我弄清楚这件事吗

多谢各位

这是与问题相关的父React标记

<TabsHeader>
  <TabHeader id='tab1-tab' label='Data | 34' target='tabData' />
  <TabHeader id='tab2-tab' label='Bulletins | 35' target='tabBulletin' />
</TabsHeader>
<TabsContent>

</TabsContent>
tabReducer.js

const INITIAL_STATE = { selected: 'tabData' }

export default (state = INITIAL_STATE, action) => {

    switch (action.type) {
        case 'TAB_SELECTED':
            return { ...state, selected: action.payload }
        default:
            return state
    }
}

你走错方向了。你在哪里读到的

dispatch => bindActionCreators({ selectTab }, dispatch)
您所需要的只是这样一个简单的分派:

dispatch => ({ selectTab: tabId => selectTab(tabId) })

就是这样。

我又回来了,现在有了解决方案:

问题出现在TabHeader.js中组件的标记上: 这使得要重新加载的站点将其转换为初始状态 所以我改为javaxritp:;这解决了Redux的问题。 下面这一行是映射动作创建者的,它允许被触发发送到还原者以开发状态。我可能会丢失一个小东西,使Redux返回初始状态。我从课堂上学到了这一点。无论如何,谢谢你

const mapDispatchToProps = dispatch => bindActionCreators({ selectTab }, dispatch)
dispatch => bindActionCreators({ selectTab }, dispatch)

标记接受回答您的解决方案,以便有人与您有相同的问题。
const mapDispatchToProps = dispatch => bindActionCreators({ selectTab }, dispatch)
dispatch => bindActionCreators({ selectTab }, dispatch)