【发布时间】:2020-06-17 02:04:12
【问题描述】:
我现在正在构建基本上是一个待办事项列表应用程序,用于学习 reactjs。
这是我的初始状态
const [listx,setlistx] = useState(
[
{id:0,flavor:'strawberry',qty:'5'},
{id:1,flavor:'Vanilla', qty:'3'},
{id:2, flavor:'butterscotch', qty:'2'}
]
);
我基本上想将每个元素呈现为编号列表,但不能为此使用索引。使用 map 将数据传递给组件。
{
listx.map(itemx =>(
key={itemx.index}
id={itemx.id}
它不识别键,但打印前 3 个元素的 id,我可以为每个元素递增和添加 id 字段,但如果我删除一个元素,它将保持静态(对吗?)
我尝试的另一件事是调用 useEffect 钩子,它确实允许我控制台记录新添加元素的索引(奇怪的是我不能这样做,否则)但我无法从 useEffect 访问任何其他方法当我试图以这种方式更新状态。
我还用arr.findIndex() 编写了一个函数,但它只在我添加元素后返回索引,我似乎无法使用
newID=findIndex(flavor,qty);
setlistx(listx[newID].id= newID;
我希望我把问题说清楚了
【问题讨论】:
标签: javascript arrays reactjs