hi i have just started learning react and facing problems in understanding fundamentals , here i am creating basic todo app question is why item-id in seq of 1,3,5,7.... as show in image attached How do i slove this ?
import { useState } from "react";
import "./App.css";
let counter = 0;
function App() {
const [text, setText] = useState("");
const [todos, setTodos] = useState([]);
const createTodo = (e) => {
e.preventDefault();
setText('')
setTodos((oldTodos) => [...oldTodos, { todo: text, id: counter++ }]);
};
return (
<div className="App">
<form onSubmit={createTodo}>
<input
type="text"
value={text}
onChange={(e) => setText(e.target.value)}
></input>
<button type="submit">Add Todo</button>
</form>
<ul>
{todos.map((item) => {
return (
<li key={item.id}>
{item.todo}-{item.id}
</li>
);
})}
</ul>
</div>
);
}
export default App;
browser output
[
Any better approach to slove issue??