반응형
나만의 라우터를 만들어서
const CustomRouter = ({history, ...props}) => {
const [state, setState] = useState({
action: history.action,
location: history.location
});
useLayoutEffect(() => history.listen(setState), [history]);
return (
<Router
{...props}
location={state.location}
navigationType={state.action}
navigator={history}
/>
);
};
<div className="App">
<CustomRouter history={history}>
이런식으로 넣어서 사용해준다.
store에 이런식으로 넣어주고
reducer: {
router: connectRouter(history),
따로 히스토리를 컴포넌트를 만들어주고
import { createBrowserHistory } from 'history'
import React, {useLayoutEffect, useState} from "react";
import {Router} from "react-router-dom";
export const history = createBrowserHistory();
history.push({pathname: '/home'});
이런식으로 불러서 사용해준다.
이렇게 하면 history도 4.10.0버전을 쓰던게
5버전으로 업그레이드해서 써도 문제없이 잘 돌아가게 된다.
반응형
'React' 카테고리의 다른 글
[React] Mock data 활용법 (0) | 2022.05.03 |
---|---|
[Framer] css애니메이션을 더 쉽고 아름답게 만들어주는 framer-motion (0) | 2022.02.10 |
[React] Router v6 (0) | 2021.11.10 |
[SCSS]Failed to compile 오류 해결법 (0) | 2021.10.26 |
[React] 지연 로딩(Lazy Loading) (0) | 2021.09.23 |
댓글