Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- codeup
- 파이썬
- 정렬
- 백준
- memory
- Operating System
- react-redux
- 리덕스장바구니
- 공부
- react
- Redux
- C++
- Java
- error
- Spring
- 스프링
- web
- js to ts
- 분할메모리할당
- 타입스크립트
- OS
- 협업
- 알고리즘
- 기초100제
- 프로그래머스
- 토이프로젝트
- CPU 스케줄링
- 코드업
- 자료구조
- 일상
Archives
- Today
- Total
감자튀김 공장🍟
[React&JS] Objects are not valid as a React child(found: object with keys {pathname, state, search, hash, key}) 오류 본문
Study/React
[React&JS] Objects are not valid as a React child(found: object with keys {pathname, state, search, hash, key}) 오류
Potato potage 2021. 3. 2. 01:02반응형
먼저 나는 <Link to= {{}} />를 사용하여 state 값을 자식 컴포넌트로 넘겨주는 것을 구현했다. 근데 막상 버튼을 눌러 페이지 링크가 이동되고 나니까 위와 같은 오류가 떴다. 다른 블로그를 찾아보니 React에서 {this.state} 상태 값을 출력, 사용할 때 뜨는 에러라고 한다.
FinalCart.js
현재 내 코드는 아래와 같다.
import React from 'react';
import {useLocation} from 'react-router-dom';
function FinalCart() {
// sum에서 부모 컴포넌트가 넘겨준 state 값을 받아온다.
const sum = useLocation();
// ...
return (
<div>총 금액: {sum}</div>
);
}
export default FinalCart;
{sum}을 사용하면서 오류가 나는 것인데, 이 sum 값이 Object이기 때문에 문자열로 보여줄 수 없어서 뜨는 것이다.
그래서
{sum.state.sum}
처럼 하나씩 지정해서 출력하거나 (내 코드에서는 이렇게 사용하면 된다.)
{JSON.stringify(sum.state)}
처럼 직렬화해주는 JSON.stringify()를 사용하면 오류가 나지 않고 화면에 값이 잘 출력된다!
(전 블로그에서 2021.02.13 16:48에 작성된 글입니다.)
반응형
'Study > React' 카테고리의 다른 글
[React&JS] TypeError: Cannot convert object to primitive value (0) | 2021.03.02 |
---|---|
[React] 장바구니 수량 변경 문제 (0) | 2021.03.02 |
[React] < button >으로 state 값을 자식 컴포넌트로 넘겨주기 (0) | 2021.03.02 |
[React] Component의 유형 (0) | 2021.03.02 |
[JSX] 자주 찾아볼 것 같은 JSX 정리 (0) | 2021.03.02 |
Comments