반응형
✔️ 해결하고자 하는 것
상태관리 툴까지 쓸 depth는 아니지만 부모와 자식 관계가 아닌 컴포넌트가 아니라 페이지일 때 데이터를 전달할 수 있으면 좋겠다고 생각함
✔️ 해결 방법
Link 과 Location 를 사용해서 문제를 해결할 수 있다.
state로 {{}}를 두 번 묶어서 데이터를 전달할 수 있다.
👇 데이터를 전달하는 컴포넌트 코드 👇
import { Link } from "react-router-dom";
<Link
to={`/todo/${id}`}
state={{ id, title, content, createdAt, updatedAt }}
>
<Title>{title}</Title>
</Link>
👇 데이터를 받는 페이지 코드 👇
import { useLocation } from "react-router-dom";
const TodoDetail = () => {
const location = useLocation();
const title = location.state.title;
const content = location.state.content;
const createdAt = location.state.createdAt;
const updatedAt = location.state.updatedAt;
...
return (
...
<div>{title}</div>
<div>{content}</div>
😃 잘못된 개념 전달이 있다면 댓글 부탁드립니다. 저의 성장에 큰 도움이 됩니다🤓
반응형
'❗️Error > 오류를 해결하자!' 카테고리의 다른 글
'replaceAll' 속성이 'string' 형식에 없습니다. ts(2550) (0) | 2023.10.15 |
---|---|
react 오디오 재생 에러 : Uncaught (in promise) DOMException: The element has no supported sources. (0) | 2023.10.08 |
서버 요청시 비동기 처리를 하지 않는다면? (0) | 2022.12.28 |
Uncaught TypeError: Cannot read properties of undefined (reading 'map'), 옵셔널 체이닝 (0) | 2022.12.27 |
vite에서 emotion css props 사용하기 (0) | 2022.12.13 |