前提・実現したいこと
ReactのHooksを使用し、配列内のcountをonClickでインクリメントさせたいのですが、動きません。
クリック時に、配列内のcountを更新させるにはどのようにしたらよいでしょうか?
よろしくお願いいたします。
発生している問題・エラーメッセージ
TypeError: array.map is not a function
該当のソースコード
js
1export default () => { 2 const [array, setArray] = useState([ 3 { id: 1, name: 'test1', count: 0 }, 4 { id: 2, name: 'test2', count: 0 }, 5 { id: 3, name: 'test3', count: 0 }, 6 ]) 7 const handleClick = () => { 8 setArray(...array, { count: array.count + 1 }) 9 } 10 return ( 11 <> 12 { 13 array.map((data, index) => ( 14 <Grid item sm={6} key={index}> 15 <p>{data.name}</p> 16 <Button color="default" onClick={handleClick}>{data.count}回</Button> 17 </Grid> 18 )) 19 } 20 </> 21 ) 22}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/22 09:14 編集