2016-12-28 28 views
1

我正在嘗試使用semantic-ui-react Menu組件構建菜單。但我無法在Menu.Item組件中使用我的狀態來顯示單個菜單項。我如何使用我的狀態Menu.Item如何在語義反饋組件中訪問我的狀態?

class JobTabs extends React.Component{ 

    constructor(props){ 
    super(props); 

    this.state={ 
     tabs: [ 
     {title: 'Tab 1', index: 0}, 
     {title: 'Tab 2', index: 1}, 
     {title: 'Tab 3', index: 2} 
     ], 

     activeTab: 0 
    } 

    this.renderTab = this.renderTab.bind(this); 
    } 

    renderTab(){ 
    return this.state.tabs.map((tab) => { 
     return (
     <Menu.Item 
      name={tab.name} 
      key={tab.index} 
      active={this.state.activetab === tab.index} /> 
    ); 
    }) 
    } 

    render() { 
    return (
     <Menu tabular> 
     {this.renderTab()} 
     </Menu> 
    ); 
    } 
} 
+0

內'Menu.Item'發生了什麼事你能不能用'this.state.activetab'? –

+0

你檢查過了嗎?這裏有錯字'this.state.activetab' =>'this.state.activeTab' –

+0

感謝您的回覆。確實有一個錯字。但是我無法使用tab.name和tab.index。當我登錄它們時,它們都是未定義的。 –

回答

0

使用標題裏面,而不是命名

class JobTabs extends React.Component{ 

     constructor(props){ 
     super(props); 

     this.state={ 
      tabs: [ 
      {title: 'Tab 1', index: 0}, 
      {title: 'Tab 2', index: 1}, 
      {title: 'Tab 3', index: 2} 
      ], 

      activeTab: 0 
     } 

     this.renderTab = this.renderTab.bind(this); 
     } 

     renderTab(){ 
     return this.state.tabs.map((tab) => { 
      return (
      <Menu.Item 
       name={tab.title} 
       key={tab.index} 
       active={this.state.activeTab === tab.index} /> 
     ); 
     }) 
     } 

     render() { 
     return (
      <Menu tabular> 
      {this.renderTab()} 
      </Menu> 
     ); 
     } 
    } 
相關問題