인프런 커뮤니티 질문&답변

kyb1208tg님의 프로필 이미지
kyb1208tg

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

04-03-graphql-mutation-args

$를 사용하면 정상적으로 작동하지 않습니다

해결된 질문

작성

·

194

1

import { useMutation, gql } from "@apollo/client";

const 나의그래프큐엘셋팅 = gql`
  mutation createBoard($writer: String, $title: String, $contents: String) {
    createBoard(writer: $writer, title: $title, contents: $contents) {
      _id
      number
      message
    }
  }
`;

export default function GraphqlMutation() {
  const [나의함수] = useMutation(나의그래프큐엘셋팅);

  const onClickSubmit = async () => {
    const result = await 나의함수({
      $: {
        //$ == variables 로 바꿔도 된다 같은
        writer: "훈이",
        title: "contents",
        contents: "반갑",
      },
    });
    console.log(result);
  };

  return <button onClick={onClickSubmit}>Graphql-API 요청하기</button>;
}

await 나의함수({ $: ...}) 에서 $를 사용하면 ApolloError: null value in column "writer" of relation "board" violates not-null constraint

다음과 같은 에러가 발생하고 variables 로 바꾸면 정상적으로 작동합니다. 어느 부분이 틀렸을까요..?

답변 1

2

노원두님의 프로필 이미지
노원두
지식공유자

안녕허세요! kyb1208tg님!

$는 수업의 이해를 돕기 위해 보여드렸던 기호이며, 실제 사용은 variables로 고쳐서 사용하셔야 합니다!

이는 우리가 제어할 수 있는 부분은 아니며, 해당 라이브러리를 만드신 분들이 이렇게 작동하도록 만들었답니다!^^

kyb1208tg님의 프로필 이미지
kyb1208tg

작성한 질문수

질문하기