`大家好,我需要 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 屬性將其添加到串列的末尾,它起作用了,但它應該如何作業,因為我想放在最后的類別串列中的應該給我帶來一些子類別,但它沒有,這就是我的問題所在。
uj5u.com熱心網友回復:
嘗試使用 setState 變數設定結果。我在任何地方都看不到這一點。
uj5u.com熱心網友回復:
如果您想訪問名為的變數中的資料,categories請在代碼底部添加此行,它將使用 setState 函式更新變數的值。
setCategories(listSelectCategory)
uj5u.com熱心網友回復:
你可以這樣做:
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
};
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/536980.html
標籤:javascript反应
上一篇:獲取參考檔案后更新React狀態
