亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Apollo GraphQL Mutation 單獨加載列表中的每個項目

Apollo GraphQL Mutation 單獨加載列表中的每個項目

慕的地8271018 2023-07-20 14:33:39
我有一個待辦事項列表:項目1項目2項目3每個項目都有一個刪除按鈕,其中包含用于刪除單個項目的突變。每個項目都有帶有loadingfrom 的微調器deleteMutation問題:一旦我按下單個項目上的刪除按鈕,列表中每個項目的微調器都會打開。我知道這里的問題,但不知道如何正確解決。我們可以為列表中的每個項目添加狀態,以及打開微調器的邏輯。但我正在這里尋找正確的解決方案。也許有一種方法可以知道調用了哪些參數的突變,我將添加簡單的代碼todos.map(({ id, title }) => (  <div>    <p>{title}</p>    <button onClick={() => deleteMutation({ variables: { id } })}>      {loading && id === deletedId ? <Spinner color="white" size="sm" /> : Delete}    </button>  </div>))
查看完整描述

1 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

問題是使用/共享相同的突變實例,它的狀態 - loading。下一個問題 - 同時刪除兩個項目可能是不可能的。

可能的解決方案:

  • 如果每個項目都有自己的突變 - 使其成為一個組件(反應中的廉價抽象),在內部定義突變。當然有點多余 - 但適合更復雜的項目或單獨的操作。

  • ...或者您必須itemBeingDeleted在調用突變(在“onCompleted”中清除)之前使用一些標志(狀態)fe 來阻止(禁用)其他項目刪除按鈕并在其中之一中顯示加載。


查看完整回答
反對 回復 2023-07-20
  • 1 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號