首页  >  问答  >  正文

所以我想要更新对象数组内的特定值,但是它没有正确地更新

<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粉842215006429 天前427

全部回复(1)我来回复

  • P粉957723124

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

    你可以这样做:

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

    一旦updatedMembers更新,useEffect将会运行。

    回复
    0
  • 取消回复