2
私は多くの子コンポーネントを保持する親コンポーネントを持っています。クリックしたときに子コンポーネントにactive
classNameを追加します。React - 一度に1つの "アクティブな"子コンポーネントのみ
これは動作しますが、各子コンポーネントにactive
クラス名を付けることができるという問題があります。そのたびに1つのコンポーネントだけがactive
になるはずです。
この問題を解決する方法はありますか?
以下のコードをご覧ください。
class MyComponent extends Component {
constructor(props) {
super(props);
this.addActiveClass= this.addActiveClass.bind(this);
this.state = {
active: false,
};
}
addActiveClass() {
const currentState = this.state.active;
this.setState({ active: !currentState });
};
render() {
return (
<div
className={this.state.active ? 'active': null}
onclick={this.addActiveClass}
>
<p>{this.props.text}</p>
</div>
)
}
}
class Test extends Component {
render() {
return (
<div>
<MyComponent text={'1'} />
<MyComponent text={'2'} />
<MyComponent text={'3'} />
<MyComponent text={'4'} />
</div>
);
}
}
あなたがそれをどのように行うのでしょうか? –
私は数分で例を挙げます。 :) –
@peterflanaganあなたは例を確認することができます。 –