我正在尝试从前端(React + Apollo graphql)更新后端用户(typeorm后端)
我正在定义一个更新用户的变异,该变异称为//AMCHART OFFICIAL DOCUMENTATION: https://www.amcharts.com/docs/v4/tutorials/one-pulled-slice-per-pie-chart/#Solution
pieSeries.slices.template.events.on("hit", function(ev){
console.log(ev.target.dataItem.value)
});
类
UserUpdateInput
@Mutation(() => Boolean)
async updateUser(
@Arg("user_id", () => Int) user_id: number,
@Arg("input", () => UserUpdateInput) input: UserUpdateInput
) {
await User.update({ user_id }, input);
return true;
}
我的突变(从服务器端)起作用并更新我的数据库
@InputType()
class UserUpdateInput {
@Field(() => String, { nullable: true })
firstName?: string;
@Field(() => String, { nullable: true })
lastName?: string;
}
我已经尝试过通过前端进行更新,但是我不确定如何将多个值传递到输入对象中
UpdateUser.tsx
mutation {
updateUser(user_id: 5
input: {
firstName: "joe",
lastName: "Flink"
})
}
任何帮助/指导将不胜感激。谢谢!
答案 0 :(得分:0)
这是使用突变钩子的方法-
const [updateUser, { data }] = useMutation(UPDATE_USER)l;
使用该组件从任何地方调用updateUser
并传递这样的变量-
updateUser({ variables: { firstName:firstName, lastName:lastName, user_id:userId } });
现在在变异查询中传递这样的变量-
const UPDATE_USER = gql`
mutation updateUser(
$id: ID!
$firstName: String!
$lastName: String!
) {
updateUser(
user: {
id: $id
firstName: $firstName
lastName: $lastName
}
) {
id
firstName
lastName
}
}
`;