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
- Pull
- max-width
- 노마드 코더
- git 버전관리
- 생활코딩 WEB2-JavaScript
- border radius
- 나도코딩 파이썬
- box-sizing: border-box
- margin 0 auto
- button:focus cursor: pointer; outline: none;
- git
- nav태그
- 코딩테스트
- 단계별로 풀어보기
- :root
- 라매개발자
- WEB2-JavaScript
- 백준
- 백준 정리
- 크롬웹
- 할만한데?
- 백준 자바스크립트
- error: ENOENT: no such file or directory
- 나도코딩
- html 끝
- calc()
- 생활코딩
- 드림코딩
- HTML
- li 태그
Archives
- Today
- Total
코딩응애의 개발블로그
BrowserRouter 왜 화면이 출력이 안되는거지? 본문
BrowserRouter는 최상위에 위치해 있어야 하는데 그래야 다른 react.router 컴포넌트들을 사용할 수 있다.
근데 내가 BrowserRouter를 써주는데 이상하게 계속 화면이 출력이 안되는것이다(spa 과제 다시 푸는 중에)
그래서 레퍼런스에 올린 코드를 보면서 일일히 비교해 보는데 BrowserRouter를 안쓰면 화면이 출력이 되는것이다!
아니 근데 저 BrowserRouter를 써야 다른 라우터 컴포넌트를 이용할 수 있다고 배웠는데 없어야 되는건가 싶어서
계속 레퍼런스 코드와 비교하다가 index.js 코드가 다른것을 확인할 수 있었다.
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import App from './App';
ReactDOM.render(<BrowserRouter><App /></BrowserRouter>, document.getElementById('root'));
// 내거에 써져있던 코드
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(<App />, document.getElementById('root'));
// 레퍼런스 코드
index.js에 이미 App 컴포넌트를 BrowserRouter로 감싸주었으면서 App.js에 또 감싸주어서 출력이 안되었던것 같다
<BrowserRouter>
<div className="App">
<main>
<Sidebar />
<section className="features">
{/* TODO - Routes와 Route 컴포넌트를 이용하여 경로(path)를 설정하고 Tweets, Mypage, About 컴포넌트를 연결합니다. */}
<Routes>
<Route path='/' element={<Tweets/>}/>
<Route path='/about' element={<About/>}/>
<Route path='/mypage' element={<MyPage/>}/>
</Routes>
<Tweets />
</section>
</main>
</div>
</BrowserRouter> // 내 App.js 에 썼던 코드
그리고 나서 advanced 를 하는데 또 화면 출력이 안되길래 내 추측이긴 한데
const App = () => {
const navigate = useNavigate();
return (
<div>
<button onClick={() => navigate(-1)}>BACK!</button>
{/* TODO - BrowserRouter 컴포넌트를 작성합니다. */}
<BrowserRouter>
<div className="App">
<main>
<Sidebar />
<section className="features">
{/* TODO - Routes와 Route 컴포넌트를 이용하여 경로(path)를 설정하고 Tweets, Mypage, About 컴포넌트를 연결합니다. */}
<Routes>
<Route path='/' element={<Tweets/>}/>
<Route path='/about' element={<About/>}/>
<Route path='/mypage' element={<MyPage/>}/>
</Routes>
<Tweets />
</section>
</main>
</div>
</BrowserRouter>
</div>
);
};
BrowserRouter는 최상위에 위치해 있어야 하는데 react.router 중 하나인 useNavigate 가 BrowserRouter보다 위에 위치해 있어서 또 화면이 출력이 안되는것 같다. 그래서 그냥 BrowserRouter는 App.js에 적지말고 index.js 에 적는게 나은것 같다.
테스트는 진즉에 통과를 했는데 계속 화면이 출력이 안돼서 1시간 이상 소비한듯 싶다,.,
근데 확실히 공부하고 다시 푸니까 정말 쉽다. 다른 페어분들은 이렇게 쉬운걸 나때문에 기다려 주신거구나 싶었다..
'코드스테이츠(부트캠프)' 카테고리의 다른 글
코플릿 - 동적 계획법(Dynamic Programming) (0) | 2022.08.24 |
---|---|
코드스테이츠 블로깅 (UI,UX) (2) | 2022.08.23 |
코드스테이츠 Section 2 회고 (0) | 2022.08.18 |
리액트 SPA 라우터 (0) | 2022.08.18 |
코플릿 풀면서 알게된 점 (정규식과 replaceAll() & /[^0-9]/g) (0) | 2022.08.16 |
Comments