inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

section 02 quiz 네번째 관련 질문입니다!

해결된 질문

350

현정

작성한 질문수 11

0

 Int cannot represent non-integer value

에러 404가 발생하면 네트워크 콘솔 창에서 해당 오류가 계속 발생한다고 뜹니다. 아마 가격을 제대로 입력받지 못해서 뜨는 오류같은데 어떻게 해결하는지 모르겠습니다 ㅠ

import { gql, useMutation } from '@apollo/client'
import { Fragment, useState } from 'react'

const CREATE_PRODUCT = gql`
  mutation createProduct($seller: String, $createProductInput: CreateProductInput!){ 
    createProduct(seller: $seller, createProductInput:$createProductInput){ 
      _id
      number
      message
    }
  }
`

export default function Graphql_Mutation2(){
  const [seller, setSeller] = useState('')
  const [name, setName] = useState('')
  const [detail, setDetail] = useState('')
  const [price, setPrice] = useState(0)

  const [myFunction] = useMutation(CREATE_PRODUCT)

  const onClickSubmit = async () => {
    const result = await myFunction({
      variables:{
        seller:seller,
        createProductInput:{
          name:name,
          detail:detail,
          price:price
        }
      }
    })
    console.log(result)
    console.log(seller, name, detail, price)
    alert(result.data.createProduct.message)
  }

  const onChangeSeller = (e) => {
    setSeller(e.target.value)
  }

  const onChangeName = (e) => {
    setName(e.target.value)
  }

  const onChangeDetail = (e) => {
    setDetail(e.target.value)
  }

  const onChangePrice = (e) => {
    parseInt(setPrice(e.target.value))
  }
  
  return(
    <Fragment>
      판매자: <input type='text' onChange={onChangeSeller} /><br />
      판매 제품: <input type='text' onChange={onChangeName} /><br />
      간략한 소개: <input type='text' onChange={onChangeDetail} /><br />
      가격: <input type='number' onChange={onChangePrice} /><br />
      <button onClick={onClickSubmit}>GRAPHQL-API(동기) 요청하기</button>
    </Fragment>
  )
}

nodejs graphql react seo Next.js

답변 1

0

코드캠프 프론트엔드 멘토

안녕하세요 현정님!

parseInt(setPrice(e.target.value)) 이 부분의 값을 setPrice(Number(e.target.value)) 이렇게 바꾸고 다시 시도해보시길 바랍니다.

에러가 발생하면, Network탭을 먼저 보시는걸 추천 드립니다.
payload를 통해 내가 보내주는 값이 제대로 들어가는지 확인 후 response로 백엔드에서 던져주는 값이 뭔지, 어떤 에러인지 파악해보시는게 에러 핸들링의 기본입니다.
해당 방법을 참고해 핸들링 해보시길 바랍니다.

위 방법으로 시도해보시고, 다시 답글남겨주세요!
감사합니다.😁

0

현정

감사합니다! 무사히 실행되었습니다.

fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다

0

41

1

댓글 기능 구현 중 질문드립니다.

0

67

1

쿠폰코드 발급

0

147

2

example 서버 플레이그라운드, API 접속 모두 안됩니다.

0

89

2

문의드립니다!! ㅠㅠ

0

107

2

graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.

0

80

2

_app.js 작성 이후로 에러가 발생하네요

0

96

2

학습자료

0

72

2

학습자료가 안열립니다.

0

51

2

플레이 그라운드 퀴즈 문제 질문이 있습니다.

0

61

0

기존강의 구매자, 업데이트 끝인가요?

0

111

3

업데이트 버전 수강

0

89

2

완벽한 프론트엔드

0

136

2

나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.

0

84

1

graphql 접속이 안됩니다.

0

101

2

const, let 사용 질문 드립니다.

0

72

2

싸이월드 만들기 1탄 피드백 부탁드립니다.

0

123

2

회원가입 과제 피드백 부탁드립니다.

0

81

2

styled.span / styled.input "CSS 자동완성"

0

47

1

쿠폰 발급 관련

0

167

2

서버 502 error

0

247

2

쿠폰 다시 부탁드려도 될가여?

0

140

2

a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요

0

185

2

2분 44초 질문

0

132

3