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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用鉤子更改數(shù)組的狀態(tài)?

如何使用鉤子更改數(shù)組的狀態(tài)?

慕妹3146593 2021-04-06 21:19:53
我不確切知道它是什么,但是在嘗試使用鉤子對(duì)數(shù)組進(jìn)行最簡(jiǎn)單的狀態(tài)更新時(shí)遇到了無(wú)數(shù)問(wèn)題。我發(fā)現(xiàn)唯一起作用的方法是使用useReducer對(duì)數(shù)組進(jìn)行單個(gè)更新,并在onClick處理程序上進(jìn)行分派。在我當(dāng)前的項(xiàng)目中,我正在嘗試嵌套在在表單提交上運(yùn)行的函數(shù)中嵌套的for循環(huán)中更新數(shù)組狀態(tài)。我嘗試了許多不同的解決方案,但這只是我的嘗試之一。  function sessionToState(session) {    let formattedArray = []    for (let i = 0; i < session.length; i++) {      formattedArray.push({ url: session[i] })      setLinksArray([...linksArray, formattedArray[i]])    }  }  // --------------------------------------------------------  return (    <div>      <form        method="post"        onSubmit={async e => {          e.preventDefault()          const session = await getURLs({ populate: true })          sessionToState(session)          await createGroup()我想知道是否有任何我想念的大事情,或者關(guān)于如何使用鉤子處理數(shù)組的一些技巧和竅門。如果需要更多信息,請(qǐng)隨時(shí)詢問(wèn)。謝謝。
查看完整描述

3 回答

?
蝴蝶刀刀

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

在性能方面,您不應(yīng)該調(diào)用setState每次迭代。您應(yīng)該使用最終數(shù)組設(shè)置狀態(tài)。


const sessionToState = (session) => {

  setLinksArray(

   session.map(sessionItem => ({url: sessionItem}))

  );

}

...或者如果您也想保留舊項(xiàng)目,則應(yīng)使用setState內(nèi)的函數(shù)進(jìn)行操作...


const sessionToState = (session) => {

  setLinksArray(oldState => [

   ...oldState,

   ...session.map(sessionItem => ({url: sessionItem}))

  ]);

}


查看完整回答
反對(duì) 回復(fù) 2021-04-22
?
Qyouu

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊

從嵌套函數(shù)調(diào)用中調(diào)用狀態(tài)設(shè)置器時(shí),應(yīng)使用的函數(shù)更新形式setState。在您的情況下,它將是:

setLinksArray(linksArray => [...linksArray, formattedArray[i]])

目前尚不清楚您遇到什么樣的問(wèn)題,但是上述修復(fù)程序?qū)⑹鼓馐芤馔鉅顟B(tài)的影響linksArray。

這也適用于任何狀態(tài),不僅適用于數(shù)組。


查看完整回答
反對(duì) 回復(fù) 2021-04-22
  • 3 回答
  • 0 關(guān)注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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