작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
11
0
lean-canvas 프로젝트 생성부터 react-router-dom 설치하기까지 중간중간 보이는 package.json 을 보고 전부 버전을 맞췄는데,
react-router 를 통해 home 에서 about, contact 가는 그게 전혀 작동하지 않습니다.
버전에 맞춰서 새로 영상을 찍어주시거나 가능할까요?
버전을 맞춰도, 작동이 안돼서 어렵네요.. ㅠㅠ
아래는 영상의 package.json 을 보고 버전을 맞춘 코드 입니다.
{
"name": "lean-canvas-make-downversion",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
"lint:fix": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0 --fix",
"preview": "vite preview",
"format": "prettier --write --cache ."
},
"dependencies": {
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.25.1",
"styled-components": "^6.1.12"
},
"devDependencies": {
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react-swc": "^3.5.0",
"eslint": "^8.57.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-react": "^7.34.3",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.4.7",
"prettier": "3.6.2",
"vite": "^5.3.4"
}
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 주병규님.
React Router와 관련된 문제를 겪고 계신 것 같군요. React Router가 동작하지 않는 경우는 보통 몇 가지 일반적인 원인 때문에 발생할 수 있습니다. 아래에 몇 가지 해결 방법을 제안드립니다.
React Router의 올바른 설정 확인:
react-router-dom
패키지는 라우팅을 구현하기 위해 필수적인 라이브러리입니다. React Router v6에서는 BrowserRouter
, Routes
, Route
컴포넌트를 통해 라우트를 설정합니다. 설정이 올바르게 되어 있는지 확인해 보세요.Route 설정 문제:
App.js
또는 index.js
파일에서 라우트를 설정할 때 Routes
안에 여러 Route
를 자식으로 두고 있는지 확인해야 합니다. 예를 들면:function App() {
return (
);
}
“`
버전 호환성 문제:
react-router-dom
버전과 react
버전이 호환되지 않을 수 있습니다. 최신 안정 버전으로 업그레이드하거나 강의에서 다룬 특정 버전을 사용해 보세요.라우터를 감싸는 요소 확인:
<Router>
컴포넌트가 App
의 최상위 요소를 감싸고 있는지 확인하세요. Router
바깥쪽에 다른 라우팅 관련 요소들이 있으면 문제가 발생할 수 있습니다.서버 설정:
이런 방법들로 문제를 해결할 수 있을 거라 믿습니다. 만약 여전히 문제가 해결되지 않는다면, 구체적인 에러 메세지나 더 자세한 상황을 공유해 주시면 추가로 도움을 드리겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.