inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Slack 클론 코딩[실시간 채팅 with React]

?gender={gender}&size={size} gender와 size button을 클릭해서 입력 받기

172

minsu

작성한 질문수 27

0

제로초님 안녕하세요 다름이 아니라 

 

제가 신발 상세 페이지를 만들고 있는데,

신발 상세 페이지에서  신발 상세 목록 api 를  아래와 같이 useQuery (React-query)  라이브러리를 사용하여 api 를 받아오고 있습니다.

 

제가 지금은

http://api.제로초짱짱.com/product/brand/${id}?size=270&gender=men

이런 식으로 받아와서 270 신발 사이즈에 해당하는 상세 목록? (해당 신발 사이즈 몇 켤레 남았는지.. 남자 사이즈인지 여자 사이즈인지 구문이 잘 안가고) 

제가 하고 싶은 것은 일단 상세 페이지에 들어오면 일단 성별과 size를 먼저 입력 하도록 받게 한 다음에 

api 를 http://api.제로초짱짱.com/product/brand/${id}?size=${size}&gender=${gender} 

이런 식으로 수정하고 남자 여자 사이즈에 따라 상세 목록을 달리 보여주도록 만들어 주고 싶습니다.

뭐 회원가입을 유도 한다음 로그인을 해서 로그인 회원정보에 따라 보여 줄 수도 있지만

저는 회원가입 뿐만 아니라 구글에서 검색 해서 들어온 사용자분들도 쉽게 볼 수 있도록 특정 사이즈에 따라 상세 정보, 특징들을 달리 보여주고 싶습니다.

 

${size} 랑 ${gender} 이것을 button 을 만든 뒤 -> button 을 클릭해서(특정 size 클릭, 성별 클릭) 한 다음 

그 size 랑 성별에 따라 정보들을 달리 보여주고 싶습니다.

어떻게 만들어야 할 지 감이 잘 안잡히네요ㅠ ㅠㅠ  항상 정말 감사합니다 유튜브 라이브 하시면 꼭 후원 해드리겠습니다.

 

 const fetchDetail = async () => {

        const res = await
        fetch(`http://api.제로초짱짱.com/product/brand/${id}?size=270&gender=men`, {
            headers: {
                Authorization: `Bearer ${token}`,
            },
            withCredentials: true
        });
        return res.json();
    }

    const { data: ProductDetail, status, error, isFetching } = useQuery('productDetail', fetchDetail, {
        notifyOnChangeProps: ['data'],
        staleTime: 100000000,
    })
    console.log(ProductDetail);

 

 

 

클론코딩 babel 웹팩 react Socket.io typescript

답변 1

0

제로초(조현영)

다른 곳에 답변 달았었는데, size, gender 전부다 state로 만드시면 됩니다.

0

minsu

제로초님 안녕하세요.

size, gender 모두 input 으로 입력 받도록 하고 useQuery 에서 (key) size, gender 모두 추가 시켜 주었습니다.

하지만 반응하지 않습니다..  어떻게 코드를 수정 해야 동작 할까요


    const [inputs, setInputs] = useState({
      size: '250',
        gender: 'female',
    })
    const {size, gender} = inputs;

    const onChange = (e) =>{
        setInputs({ ...inputs })
    }

    const { data: ProductDetail, status, error, isFetching } = useQuery(['productDetail', id, age, size], fetchDetail, {
        notifyOnChangeProps: ['data'],
        staleTime: 100000000,
  })
   <input name="size" onChange={onChange} placeholder = "사이즈"/>
  <input name="gender" onChange={onChange} placeholder = "성별"/>
 
   

 

0

제로초(조현영)

fetchData 부분도 수정하셔야하는거 아닌가요

기본 셋팅과 관련하여

0

106

1

초기 셋팅 back과 front만 남겨두고 다 지운 후 진행 방법

0

109

2

focus 시에만 화면 업데이트 되는 이유 + 해결방법

0

165

2

useEffect 개수 관리

0

122

2

라이브러리 서치 방법

0

118

2

함수 정의 패턴

0

80

1

npm run dev 에러

0

156

3

npx webpack 후 에러

0

187

2

'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345)

0

151

2

사용자 가입시 에러발생 (TypeError: Cannot read properties of null (reading 'addMembers')

1

192

2

초기세팅중 packge.json 에러떠요

0

162

2

CORS - Access-Control-Allow-Origin 누락 문제

0

439

3

로그인 페이지 무한 새로고침 현상

0

608

2

Module not found: Error: Can't resolve './App' 에러

0

970

1

배포 방법

0

306

2

npm run dev 시 빌드가 매우 느려졌습니다

0

1010

2

alias 경로 설정 오류

0

461

2

fetcher 함수의 data 값이 두번 찍히는 이유

0

282

1

제네릭 질문

0

225

2

ts-node 대신 tsx 사용여부

0

377

1

배포 관련 질문

0

249

1

[nginx + https] 서비스를 실행하면 niginx가 아닌 서비스 화면을 보여주게 하고 싶습니다.

0

395

2

[배포하기] webpack에 aws 퍼블릭 IPv4 주소 와 포트 주소를 작성하고 나서 빌드후 실행하면 오류가 발생합니다.

0

341

1

users 호출 시 쿠키가 담기지 않는 이슈 질문드립니다.

0

252

2