私は、代理店のWebサイトを再構築することによってReactを実践しようとしています。私はスタッフの画像を持っているセクションで作業しています。その画像の1つをクリックすると、関係するスタッフのバイオがモーダルで開きます。画像とバイオスは別々のdivを含んでいます。React - 複数の類似した要素の1つを切り替えるための1つのイベントハンドラ
画像がクリックされた(おそらくデータ属性のようなものを使用していますか?)という状況に応じて関連するバイオを見つけて開くイベントハンドラを作成できるはずですが、 dを追加する必要があります。
現在、私はちょうど「アクティブな」状態を切り替えるクリックハンドラを持っています。その状態は、モーダルが表示されているかどうかを切り替えるためにclassNameとして追加されます。問題はバイオスを区別しないので、どのバイオがクリックされても関係なく表示されるという問題です。
場合、それは便利ですが、ここに私の「スタッフのバイオ」コンポーネントです:
次のように使用されているconst StaffBio = (props) => {
return (
<div className={`teamMemberOverlay ${props.active}`} onClick={props.onClick}>
<div className="teamMemberExpanded">
<h6>{props.name}</h6>
<div className="seperator"></div>
<p className="title">{props.title}</p>
</div>
</div>
);
}
:
<StaffBio name="NAME HERE" title="TITLE HERE" active={this.state.active} onClick={this.showBio} />
は、これまでのところ、私のように設定した画像を持っています
<img src={PaulIllustration} className="staffPhoto" onClick={this.showBio} />
そして最後に、私のイベントハンドラ:次
showBio() {
let toggle = this.state.active === 'is-active' ? '' : 'is-active';
this.setState({active: toggle});
}
あなたは 'showBio'メソッドが定義されているコンポーネントを投稿してもらえますか? – BravoZulu