【问题标题】:Can I make multiple useMutation in a components我可以在一个组件中进行多个 useMutation
【发布时间】:2022-02-20 16:50:35
【问题描述】:

我有一个关于在组件中使用多个突变的问题。

例如,如果我需要创建和更新同一个组件,我该如何制作它们?

当我喜欢时

const [createUser, {data}] = useMtation(CREATE_USER, {user}) - 创建用户

const [updateUser, {data}] = useMtation(UPDATE_USER, {user}) - 更新用户

使用这些,我想这样做 -

如果我点击创建,第一个就可以了,

当我单击编辑按钮时,该按钮将显示更新用户,并将使用第二个用户。

然后,我有一个错误,因为我有两个数据。

我的问题可以举一些很好的例子吗?

【问题讨论】:

    标签: reactjs typescript graphql graphql-mutation


    【解决方案1】:

    要解决您的错误,您可以重命名要解构的变量。正如 MDN 文档中所述:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 在“分配给新变量名”部分下,您可以执行以下操作:

    const [createUser, {data: createUserData}] = useMutation(CREATE_USER, {user}) // create user
    
    const [updateUser, {data: updateUserData}] = useMutation(UPDATE_USER, {user}) // update user
    

    要对组件的设计添加评论,将不同的逻辑(例如在同一个组件中创建和更新)捆绑在一起并不是 React 的好习惯。

    理想情况下,您应该为“创建”按钮设置一个单独的组件,其中您拥有唯一的创建突变,并为您的“更新”按钮提供一个单独的组件,其中您拥有唯一的更新突变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      相关资源
      最近更新 更多