2015-11-08 51 views
1

我試圖根據組件狀態更改元素。我使用三元運算符來確定應顯示的內容。三元運算符中的Reactjs狀態不變

在渲染功能,我正在做這樣的事情

<li onClick={this.handleClick}>{(this.state.route) ? "active" : ""}</li>

,並單擊處理程序使用this.setState剛剛更新的狀態。

任何人有一個想法,爲什麼這不工作?

工作示例我simplefied的問題都可以在這裏jsfiddle

+1

如果選中控制檯,你會看到'對象{activeRoute:「elem1」} '。所以行爲是正確的,因爲「elem1」字符串不等於「elem1」字符串。 – zerkms

+0

請在您的問題中包含相關代碼。 –

+0

@zerkms這是問題......歡呼聲 –

回答

2

發現此代碼爲我的jsfiddle:

render: function() { 
    return <div> 
     <ul> 
      <li onClick={this.change}>elem1 
      {this.state.activeRoute==="elem1"?"active":""}</li> 
      <li onClick={this.change}>elem2 
      {this.state.activeRoute==="elem2"?"active":""}</li> 
     </ul> 
    </div>; 
},