前提・実現したいこと
こんにちは!reactでtodoアプリを作っています。
子コンポーネントでmap関数を使い、親コンポーネントから渡ってきた
useStateのオブジェクトをループさせました。
useStateの内容↓
const [todos, setTodos] = useState([ { text: 'Click todo to edit', isComplete: false, }, { text: 'Tick the todo to set to done', isComplete: false, }, { ]);
その後得たindexを元にクリックされたものだけを親コンポーネントで
isComplete:trueに書き換えたいのですが
どのようにindexを用いて書き換えればいいのかがわかりません。。
一応、わたしが書いたコードも載せておきます。
分かる方回答いただけますととても嬉しいです!!
*子コンポーネント <i className={ todo.isComplete ? 'c-icon p-listItem__iconTick fas fa-check-circle' : 'c-icon p-listItem__iconTick far fa-check-circle' } aria-hidden='true' onClick={() => onClickToggleComplete(index)}> </i> *親コンポーネント const onClickToggleComplete = (index) => { const newTodo = [{ ...todos, isComplete: true }]; setTodos(newTodo); // setTodos({ isComplete: true }); };
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/09 05:38
退会済みユーザー
2021/09/09 05:58