0

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

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

当我喜欢

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

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

使用这些,我想这样做 -

如果我点击创建,第一个会工作,

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

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

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

4

1 回答 1

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 的好习惯。

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

于 2022-02-20T08:50:35.757 回答