AI回答済み
useStateで配列を更新しても再レンダリングされない
Taro · 2026/6/27 · 0 views
Reactでconst [list, setList] = useState([])と定義し、list.push(item)で要素を追加しています。画面が更新されません。なぜですか?
Taro · 2026/6/27 · 0 views
Reactでconst [list, setList] = useState([])と定義し、list.push(item)で要素を追加しています。画面が更新されません。なぜですか?
useStateで配列を更新しても再レンダリングされないのは、配列への変更が参照透過性を破壊しているためです。配列はミュータブル(変更可能)なオブジェクトであり、pushメソッドを使用すると配列の内容が変更されますが、同じ参照を保持しているためReactは変更を検知できません。そのため、setListで新しい配列を作成する必要があります。例: setList([...list, item])