第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 React State 的哪里銷毀數(shù)組中的對象

從 React State 的哪里銷毀數(shù)組中的對象

撒科打諢 2023-05-25 16:30:35
在我遇到這個問題之前我使用了 redux,這個問題沒有發(fā)生?,F(xiàn)在我改變了我的方法,我遇到了這個問題。在我的主頁上,我決定獲取我需要的數(shù)據(jù)并將其存儲在 sessionStorage 中,然后當(dāng)用戶單擊產(chǎn)品時,它會被重定向到一個模板,我只想在其中填寫值。每當(dāng)我輸入像 data.title 這樣的對象時,我就會得到未定義(我知道它是因為 useEffect 在渲染周期之后運(yùn)行)。我應(yīng)該如何在這里進(jìn)行?我要么從 sessionStorage 中選擇值,要么獲取它,請參閱我的 useEffect 代碼: useEffect(() => {try {  if (    sessionStorage.length > 0 &&    sessionStorage.getItem(title).length > 0  ) {        const nData = JSON.parse(sessionStorage.getItem(title));    const fData = filterProd(nData, id);    setData(() => fData);  } else {    fetchFiles(`http://localhost:3000/api/prods?id=${id}`, setData);  }} catch (error) {  history.push('/');} }, []);這種方法沒有問題,當(dāng)我想使用解析的數(shù)組/對象并銷毀它時,問題就開始了。因為 useEffect 在第一次運(yùn)行渲染過程之后運(yùn)行,所以它會選擇默認(rèn)狀態(tài),即空 []。解析后我收到了正確的數(shù)組,它看起來像這樣:[{ artcategory: "jacket" brand: "The North Face" category: "men" description: "Outdoorjacke" details: "Unterlegter Rei?verschluss, Abdeckleiste, Zwei-Wege-Rei?verschluss, Stickerei" folder: "newFall2020" id: "b77a14f0-fd25-11ea-95f1-ff14921ff326" photos: (3) ["/newFall2020/b7164a10-fd25-11ea-95f1-ff14921ff326-ja1.png", "/newFall2020/b71845e0-fd25-11ea-95f1-ff14921ff326-ja2.png", "/newFall2020/b77a14f0-fd25-11ea-95f1-ff14921ff326-ja3.png"] price: 291.95 rating: 0 size: (5) ["XS", "S", "M", "L", "XL"] subcategory: "clothing" title: "ZANECK JACKET UTILITY" }]在這個對象中,我有一個額外的數(shù)組,我在其中存儲圖像的路徑。
查看完整描述

2 回答

?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗 獲得超12個贊

如果我理解正確,您的問題是關(guān)于嘗試使用尚未定義的對象。如果是這種情況,我的建議是:


function MyComponent() {

    const [data, setData] = useState([]);    


    useEffect(() => {

       if (localStorage) {

         // parse

       }

       else {

         // fetch

       }

       setData(data)

    })


    if (!data.length) return null; // do not render if empty


    return (

        <section ... />

    )

}

這應(yīng)該可以防止任何孩子使用您的對象,此外,您還可以返回一個微調(diào)器或加載指示器,while!data.length為 true。


查看完整回答
反對 回復(fù) 2023-05-25
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗 獲得超8個贊

首先感謝您的建議。我發(fā)現(xiàn)了錯誤,首先它是一個數(shù)組,我像輸入對象一樣輸入它,所以數(shù)據(jù)。但我應(yīng)該做這個數(shù)據(jù)[0]。

這實(shí)際上解決了它。

不過謝謝!


查看完整回答
反對 回復(fù) 2023-05-25
  • 2 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號