Edited at

ReactのsetStateで配列の一部を変更する

More than 1 year has passed since last update.


備忘録

Reactの勉強をはじめて2時間詰まったところ↓

reactのstateに配列を設定した時、インデックスを利用して一部を変更したい。


解決策

スライスで配列をコピーしてからコピーの中身を変更して、それをsetStateする

constructor(props) {

super(props);
this.state = {
humans: ["", "", ""]
}
}

change(i) {
const humans_copy = this.state.humans.slice();
humans_copy[i] = "変更"
this.setState({humans: humans_copy})
}
}

結局チュートリアルでした。