搜尋

首頁  >  問答  >  主體

所以我想要更新物件數組內的特定值,但是它沒有正確地更新

<p>所以我嘗試複製數組,當它與memberId匹配時,我更新特定物件的selected值。 對於單一成員,它是有效的。 但是,假設有多個成員,那麼它無法正確更新。 </p> <pre class="brush:php;toolbar:false;">const updateGroupMembers = (memberId: string, optedRider: string, value: string) => { const updatedMembers = group?.memberDetails?.map((member) => member.memberId === memberId ? { ...member, [optedRider]: value } : member ); if (updatedMembers) { setGroup((prevGroup) => ({ ...prevGroup!, memberDetails: updatedMembers, })); } };</pre> <p><br /></p>
P粉842215006P粉842215006471 天前470

全部回覆(1)我來回復

  • P粉957723124

    P粉9577231242023-08-19 00:51:29

    你可以這樣做:

    useEffect(() => {
        setGroup((prevGroup) => ({
          ...prevGroup!,
          memberDetails: updatedMembers,
      }));
      }, [updatedMembers])

    一旦updatedMembers更新,useEffect將會運作。

    回覆
    0
  • 取消回覆