我可以在一个组件中创建多个 useMutation 吗

Can I make multiple useMutation in a components

我对在组件中使用多重突变有疑问。

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

当我点赞的时候

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

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

使用这些,我想这样做 -

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

当我单击编辑按钮时,该按钮将显示更新用户并会在第二个用户中起作用。

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

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

要解决您的错误,您可以重命名正在解构的变量。如 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 的好习惯。

理想情况下,您应该做的是,为您的创建按钮提供一个单独的组件,其中您只有创建变更,为您的更新按钮提供一个单独的组件,您只有更新变更。