1
我試圖讓我的組件保持純粹(狀態生活在正在改變的組件外) - 通過從父進程傳入狀態。React.js - 處理啞孩子狀態的模式?
我有三個鏈接,我想要更改爲活動,但不是影響所有他們,我只想影響被點擊/活動的。
有些問題沒有答案:邏輯應該在哪裏篩選出哪個元素被點擊?我們如何通過讓孩子啞巴來做到這一點?
這裏是我走到這一步:
的jsfiddle - https://jsfiddle.net/69z2wepo/33470/
var SomeElement = React.createClass({
render: function() {
return(
<a className={this.props.className} onClick={this.props.onClick} href="#">Click Me!</a>
)
}
});
var App = React.createClass({
click: function(e) {
this.setState({class: "active"})
},
getInitialState: function() {
return({class: ""})
},
render: function() {
return(
<div>
<SomeElement className={this.state.class} onClick={this.click} />
<SomeElement className={this.state.class} onClick={this.click} />
<SomeElement className={this.state.class} onClick={this.click} />
</div>
)
}
});
ReactDOM.render(
<App/>,
document.getElementById('container')
);
在此先感謝。
看起來不錯,我喜歡你的解決方案 - 只是想指出'SomeElement'裏面的變量是無效的代碼 - 因爲這是一個對象而不是一個有趣的它應該是這樣的功能: '''className:function(){ \t return this.props.active? 「主動」:「不主動」; },'''並用作'this.className()' – AntonB