JavaScript/React

왜 난건지 모르겠는 createBrowserHistory 관련 에러

Tech Signal 2021. 8. 6. 13:31


오류 난 코드 --------------
index.js

import createHistory from import history from "./history";
const store = createStore(rootReducer, applyMiddleware(thunk));

ReactDOM.render(
  <Provider store={createHistory()}>
    <Router history={history}>
      <Route path="/" component={App}/>
    </Router>
  </Provider>,
  document.getElementById("root"),
);

원래 이런 코드였는데 오류가 안 났었는데, react-native 설치하고 jest 버전 오류나서 node_modules를 지우고 나니 오류가 나기 시작했다.

 

그래서 1차로 고친 코드


index.js

import history from "./history"; <Router history={history}>

history.js

import { createBrowserHistory } from "history"; export default createBrowserHistory();

history.js 를 따로 생성해 import 해줌.

이러니까 오류 고쳐짐.
근데 함정은!!!!! 첫 화면은 제대로 뜨는데 다른 페이지로 이동 클릭하면 component App 이 아예 사라짐.

그래서 최종수정
참고: https://stackoverflow.com/questions/42892488/react-router-v4-0-0-uncaught-typeerror-cannot-read-property-location-of-unde

수정한 부분
1. history에서 바로 createBrowserHistory를 import 해옴
2. 그냥 Router였는데 BrowserRouter as Router로 수정