在 React.js 中,您如何创建一个 link 以使用 react-bootstrap 更改活动选项卡?

In React.js how do you create a link to change the active tab using react-bootstrap?

我正在使用 React-bootstrap Tabs,我想在我的选项卡内容中创建一个 link 来更改活动选项卡并打开第二个选项卡。

例如:

<Tabs ...>
   <Tab eventKey={1} ...>
      Click this <TabLink eventKey={2} ...>link</TabLink>
   </Tab>
   <Tab eventKey={2} ...>
      <TabLink eventKey={2} ...>
         ...
      </TabLink>
   </Tab>
</Tabs>

显然,TabLink 不作为组件存在 - 这是我的问题,我该怎么做?

Tabs 组件有一个名为 activeKey 的道具 - 使用组件的状态来控制该值 (as shown in this example),然后使用带有onClick 为您的 link.

这是一个例子,改编自我上面 link 编辑的那个 - 我现在无法测试它,但它应该会给你正确的想法。

const LinkedTabs = React.createClass({
  getInitialState() {
    return {
      key: 1
    };
  },

  goToTab(key) {
    this.setState({key});
  },

  render() {
    return (
      <Tabs activeKey={this.state.key}>
        <Tab eventKey={1} title="Tab 1">
          <span>Click this </span><a onClick={() => this.goToTab(2)}>link</a>
        </Tab>
        <Tab eventKey={2} title="Tab 2">Tab 2 content</Tab>
        <Tab eventKey={3} title="Tab 3" disabled>Tab 3 content</Tab>
      </Tabs>
    );
  }
});