reactとtypescriprtを使っています。
ボタンが押されたらstateのitemsにitemを追加したいです。
ボタンが押されたらsetItems({ ...items, item });でitemsに押されたitemを付け加える処理を書いたのですがconsole.logで確認したところ、値が上書きされてしまいitemsに押下された値を付け足していくことができません。
わかる人いましたらご教授お願いしたいです。
import React, { FunctionComponent, useState } from 'react'; type Item = { id: number; name: string; }; const Test: React.FunctionComponent = () => { const [items, setItems] = useState<Item[]>([]); const onClickItem = (item: Item) => { setItems({ ...items, item }); }; return ( <> {fruits.map(() => ( <button key={fruit.id} onClick={() => onClickItem(fruit)}> {fruit.name} </button> ))} </> ); }; export default Test;
export const fruit: [ { id: 1, name: 'りんご', }, { id: 2, name: 'みかん', }, { id: 3, name: 'なし', }, { id: 4, name: 'ぶどう', }, ]
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/08 05:43
2021/06/08 05:50
2021/06/08 05:59