のようなアイテムを更新しようとしていますクリックした項目にmy code
ですが、私はこれを実装する最も簡単な方法は、あなたを送信することだと思いますbtnClick()
は、クリックされた要素のid
を機能させ、その値を更新して新しい状態を保存します。そのよう
Codepen
は:map(item, i) => {
にmap(item) => {
を変更することにより
this.state.data.map((item, i) => {
return <li onClick = {
this.btnClick.bind(this, i)
> {
item.hse
} < /li>;
})
あなたはArray map方法のindex
パラメータを利用します。このi
変数は、btnClick
関数をバインドするときに使用されます。
btnClick(id) {
let temp = this.state.data.slice();
temp[id].hse = 'test';
this.setState({
data: temp
});
}
ここで、id
はクリックされた項目のインデックスです。まず、this.state.data
の浅いコピーを作成し、それをローカルのtemp
変数に入れます。次に、hse
プロパティをtemp[id]
に変更します。最後に、data
状態をローカル変数で更新します。
編集:固定壊れたcodepenリンク