【发布时间】:2022-06-17 00:43:15
【问题描述】:
我正在构建一个待办事项列表,我希望每个列表项都有一个编号,从 1 开始。我在柜台上使用 useState 挂钩,但我不知道如何将新项目添加到每次我点击一个按钮时数组。我已经好几个月没写代码了,我真的很生疏。
const [input, setInput] = useState("");
const [todo, setTodo] = useState([]);
const [count, setCount] = useState([]);
const addTodo = e => {
e.preventDefault();
setTodo([...todo, input]);
setCount(prevCount => [...prevCount, prevCount + 1]);
setInput("");
};
return (
{count.map(count => (
<p>{count}</p>
))}
)
我想这样做,所以每次添加列表项时,它都会将其编号添加到左侧。第一个项目有 1,第二个项目有 2,依此类推。
【问题讨论】:
-
您的代码中没有按钮。
-
@Andy 我没有添加整个代码,只是我想为数组生成一个新数字的函数
-
这里还不清楚
count的目的是什么。或者你期望prevCount + 1是什么。如果它只是todo中项目的“计数”,那么它就不是一个数组,但也不是必需的,因为数组有一个length属性可以告诉您其中的项目数。如果您希望项目具有唯一 ID,则创建一个具有 ID 属性的对象数组,而不仅仅是字符串数组。
标签: javascript reactjs