#解決したいこと
react-selectを用いたセレクトボックスでラベルを選択し、それに対応させた画像を表示させたいのですが、セレクトボックスの値に応じてimagesのstateを変化させたいのですが、やり方が分かりません。
途中までのソースコードは以下のとおりです.
初期状態(何も選択されてないとき)はimagesのvalue:0の値を表示させ、選択されたらそれに対応した画像を表示させたいです。
ここまでで、セレクトボックスで値をせんたくするところまでしかできていないです<img/>タグには適当に値をいれています。
handleChangeselectの中で所望の処理を実装させて適切な値を<img/>のsrcで渡したいです。
よろしくおねがいします。
class UserInfo extends React.Component { constructor(props) { super(props); this.state = { names: [ { value: 1, label: "A" }, { value: 2, label: "B" }, { value: 3, label: "C" }, { value: 4, label: "D" } ], images: [ { value: 0, label: "./images/0.png" }, { value: 1, label: "./images/1.png" }, { value: 2, label: "./images/2.png" }, { value: 3, label: "./images/3.png" }, { value: 4, label: "./images/4.png" } ], userImage: "" }; } handleChangeselect = userImage => { this.setState({ userImage }); }; render() { return ( <div className="User-container"> <div className="photo-and-name"> <img src='./images/o.png' alt="" /> <Select className="select-name" options={this.state.names} styles={{ [styleKeys]: styleFn }} placeholder="ユーザーを選択" onChange={this.handleChangeselect} /> </div> ); } }