inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

상품 상세 페이지 구현 - 1

localhost:3000/products/undefined

758

이한성

작성한 질문수 6

1

안녕하세요 그랩님

수업을 듣다가 막히는 부분이 생겨서 질문 남깁니다.

postman에서 products/1을 추가한 후에

Link부분을 ${index}에서 ${product.id}로 변경을 했더니

이렇게 undefined라고 나옵니다

코드와 postman을 다 검토해봤는데 뭐가 틀린건지 잘 모르겠습니다ㅠ

확인 한번만 부탁드립니다.

항상 감사합니다.

(postman에서 products 아래에 원래 products와 default 가 같이 있었는데 제가 하나만 남기고 싶어서 default를 삭제하고 products만 남겨뒀습니다. 혹시 그게 문제가 된거일 수도 있을까요?)

<div id="product-list">
{products.map(function (product, index) {
return (
<div className="product-card">
<Link className="product-link" to={`/products/${product.id}`}>
<div>

javascript HTML/CSS express react nodejs react-native 머신러닝 배워볼래요? tensorflow

답변 4

3

이한성

답변 감사합니다 그랩님!

이것저것 해보다가 해결을 하긴 했는데.. 이게 맞는방법인건지를 모르겠습니다

postman URL주소 제일 마지막에 / 를 넣었더니 해결이 됐습니다.

( 원래 코드에는 

"https://xxxxxxxxx.mock.pstmn.io/products"로 기재를 했었는데

"https://xxxxxxxxx.mock.pstmn.io/products/"로 바꿨더니 수정 되었습니다.)

이렇게 해도 되는건가요..?

확인 한번만 부탁드립니다. 감사합니다!

0

그랩

잘 동작한다니 다행이에요. 이 부분은 포스트맨 내부적으로 오류가 있는 것으로 보입니다! 

아무래도 포스트맨에서 mock server 자체가 main feature는 아니고 제약이 있다보니 사소한 버그들이 조금씩 있는 것 같네요 😂

2

그랩

코드 윗쪽에 useEffect 안에 setProducts(products) 코드가 있을거에요.

그 위에 console.log(products)를 통해 products 값이 어떻게 들어오는지 먼저 확인해주시겠어요?

1

그랩

const products = result.data.products

console.log("PRODUCTS : ", products)

setProducts(products)

요렇게 코드를 추가하시고 브라우저 개발자도구에서 로그를 확인해보시면 좋을 것 같아요.

지금 의심가는 부분은 products 변수에 데이터가 제대로 들어가 있지 않기에 setProducts를 통해 products라는 state에 값이 없고, 이에 products.map 이 부분이 제대로 동작하지 않는 것으로 보입니다.

0

이한성

안녕하세요 그랩님

useEffect안에 setProducts(products)코드는 찾았는데 그 다음 말씀해주신걸 어떻게 해야하는건지를 모르겠습니다ㅠㅠ

수업을 열심히 듣고있다고 생각했는데 아직 갈길이 먼듯하네요ㅠ 

제가 어떻게 해야하는건지 설명해주실 수 있을까요ㅠㅠ?

(혹시 필요할지몰라 코드 전부다 올려봅니다ㅠㅠ)

감사합니다ㅠㅠ

import "./index.css";
import axios from "axios";
import React from "react";
import { Link } from "react-router-dom";

function MainPage() {
const [products, setProducts] = React.useState([]);
React.useEffect(function () {
axios
.get(
"https://2f7bb40d-0885-4845-a2a9-85871c1cc2b0.mock.pstmn.io/products"
)
.then(function (result) {
const products = result.data.products;
setProducts(products);
})
.catch(function (error) {
console.error("에러 발생 : ", error);
});
}, []);

return (
<div>
<div id="header">
<div id="header-area">
<img src="images/icons/logo.png" />
</div>
</div>
<div id="body">
<div id="banner">
<img src="images/banners/banner1.png" />
</div>
<h1>판매되는 상품들</h1>
<div id="product-list">
{products.map(function (product, index) {
return (
<div className="product-card">
<Link className="product-link" to={`/products/${product.id}`}>
<div>
<img className="product-image" src={product.imageUrl} />
</div>
<div className="product-contents">
<span className="product-name">{product.name}</span>
<span className="product-price">{product.price}</span>
<div className="product-seller">
<img
className="product-avatar"
src="images/icons/avatar.png"
/>
<span>{product.seller}</span>
</div>
</div>
</Link>
</div>
);
})}
</div>
</div>
<div id="footer"></div>
</div>
);
}

export default MainPage;

[해결]그랩님 답변 주세요.

0

190

2

그랩님의 답변을 기다립니다/102강 전반적인 에러

0

162

2

[그랩님께]101강 안드로이드 에러들(Key prop)해결방법 궁금합니다.

0

139

2

[재질문][그랩님 답변 부탁드립니다]101강

0

162

2

[그랩님 답변 부탁드립니다]101강 Axios 에러와 502 Bad Gateway 질문

0

119

2

Ngrok 설치 후 forwarding Url 에러

0

145

2

[그랩님께,Ngrok 악성코드 인식 해결방법]질문 드립니다.

0

251

2

Ngrok 설치 후 forwarding Url로 연결 불가

0

157

1

그랩님,[꼭] 답변 부탁드립니다.

0

76

1

[꼭][[꼭] 그랩님, 답변 부탁드립니다], Failed to load resource: the server responded with a status of 404 (Not Found) 상품 상세 페이지 질문입니다.

0

162

1

6강/7강 수업

0

56

1

그랩님, 상품 상세 페이지 에러와 의문점 질문드립니다.

0

105

2

그랩님, 해결되지 않은 에러 메시지 [꼭] 답변 부탁 드립니다.

0

148

2

[재 질문]Cannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') 에러 해결 어떻게 하나요?

0

94

1

Cannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') 에러 해결 어떻게 하나요?

0

134

2

일반적인 css 꾸미기에서 width와 height의 값?

0

98

2

Windows에서의 업로드 후 홈화면 상품이미지 오류 해결방법

0

204

1

그랩마켓 웹화면 구현하기 -2 질문입니다.

0

127

1

react에 반영이 되지 않습니다.

0

250

1

터미널 npm install -g create-react-app 작성 후 오류

0

430

1

create-react-app my app 실행 시 에러

0

358

2

포스트맨 질문

0

105

1

<꼭 답변 부탁 드립니다>그랩선생님, [컴포넌트 사용하기] 강의에서 질문 있습니다.

0

269

2

그랩선생님, 질문 답변 부탁 드립니다.vscode에서 npm install -g create-react-app 입력 후 에러 입니다.

0

492

2