削除メソッドを完成させたい
解決したいこと
deleteを活用して要素を削除したいのですが、エラーが出てしまう状況です。
発生している問題・エラー
import { useState } from "react";
const App = () => {
// 作成したtodoを入れておくためのstate"配列"を活用する
const [todos, setTodos] = useState([]);
// フォームに入力された値をtodoに登録するまでに入れておくためのstate"文字列"
const [tmpTodo, setTmpTodo] = useState("");
const addTodo = () => {
setTodos([...todos, tmpTodo]);
setTmpTodo("");
}
const deleteTodo = (index) => {
//deleteTodo(todos[index]);
//todos.splice(0,1);
}
return (
<>
<h1>Todo App</h1>
<div className="form">
<input
type="text"
name="todo"
///id="message"を追加する
user_text="todos"
// formの入力値をtmpTodoで持っておく
onChange={e => setTmpTodo(e.target.value)}
value={tmpTodo}
/>
<button onClick={addTodo}>追加</button>
</div>
<ul>
{todos.map((todo, index) => <li key={index}>{todo}
<button onClick={() => deleteTodo(index)}>×</button></li>
)}
</ul>
<style>{`
h1 {
text-align: center;
}
.form {
display: flex;
justify-content: center;
}
ul {
width: 200px;
margin: 10px auto;
}
`}</style>
</>
);
};
export default App;
例)
Unhandled Runtime Error
RangeError: Maximum call stack size exceeded
14〜17行目でエラーが出ています。
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
例)
const deleteTodo = (index) => {
deleteTodo(todos[index]);
todos.splice(0,1);
}
0