1
状態に関する真の値をチェックし、それに応じてクラスを設定したいと思います。下のコードはこれだけですが、...JSXインライン関数(プログラムで設定されていますか?)
これをプログラムで実行する方法はありますか?forループを使用してインライン関数チェックをすべて追加する方法がありますか?
なぜなら、何百ものアイテムがある場合があり、同じコードを何度も繰り返して貼り付けたくないからです。
ご協力いただければ幸いです。ありがとうございます!
class App extends React.Component {
constructor() {
super();
this.state = {
item1: false,
item2: true,
item3: false
}
}
render() {
return(
<div className="app">
<ul>
<li data-item="item1" className={(this.state.item1) ? "active" : null}>Item 1</li>
<li data-item="item2" className={(this.state.item2) ? "active" : null}>Item 2</li>
<li data-item="item3" className={(this.state.item3) ? "active" : null}>Item 3</li>
</ul>
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById('app'));
.active {
color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
のように宣言する代わりに、 'item.state = {items:[item1、item2、item3] ....}'のように宣言しなければなりません。 –
スニペット上の良い点! –
@ T.J.Crowder最後の質問について申し訳ありません、私は本当に不満でした。 – MarioD