[英]How to move an item in a list in react js
`大家好,我需要 React js 的帮助,发生的事情是我想将一个项目从特定列表移动到最后一个位置,但是当我移动它时,它不会加载我之前拥有的数据,不幸的是我'我对 React js 和 ps 很陌生,不是我都知道,所以我转向这个社区寻求帮助,很快我会上传代码,希望你能帮助我,谢谢。
const [categories, setCategories] = useState<CategoriesWithSubsCategories>()
const listSelectCategory = categories?.list.map(cat =\> {
const { category, id } = cat.category
return {
value: id,
label: category
}
}).filter(cat =\> cat.label !== 'Otros')
listSelectCategory?.sort((a, b) =\> a.label.localeCompare(b.label)).push({ value: 'Otros', label: 'Otros' })``
正如您在上面所看到的,尝试使用 filter 属性来过滤该类别,然后使用 push 属性将其添加到列表的末尾,它有效但不是它应该如何工作,因为我想放在最后的类别列表中的应该给我带来一些子类别,但它没有,这就是我的问题所在。
尝试使用 setState 变量设置结果。 我在任何地方都看不到这一点。
如果您想从名为categories
的变量中访问数据,请在代码底部添加此行,它将使用 setState function 更新变量的值。
setCategories(listSelectCategory)
你可以这样做:
const [categories, setCategories] = useState<CategoriesWithSubsCategories>();
...
// suppose categories is defined
setCategories((prev) => {
const newList = [...prev.list];
newList.push(newList.splice(newList.findIndex((item) => item.label === "Otros"),1)[0]);
return {
...prev,
list: newList
};
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.