반응형
페이지 렌더링 문제를 유발하는 대응j 라우팅
App.js는 다음과 같다.
function App() {
return (
<div className="App">
<Header></Header>
<HomePage></HomePage>
</div>
);
}
웹사이트에 접속하는 사람은 누구나 기본적으로 홈페이지를 먼저 보아야 한다.
다음과 같은 라우팅 정보가 포함된 탐색 메뉴가 있다.
<Router>
<Switch>
<Route path='/login' component={Authentication} />
</Switch>
</Router>
로그인 메뉴 링크를 클릭하면 인증 페이지가 로드되지만 브라우저에서 아래로 스크롤하면 아래 홈페이지도 볼 수 있다.라우터에서 참조하는 페이지만 로드하려면 어떻게 해야 하는가?
해결책:
라우터에 다음 라우트 추가
<Route exact path='/' component={Home} />
다른 경로:Route
다른 페이지 표시(구성 요소 속성:Route
() 여기 데모와 리액션 처리 문서가 도움이 될 수 있다.행운을 빈다!
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
export default function App() {
return (
<Router>
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/users">Users</Link>
</li>
</ul>
</nav>
{/* A <Switch> looks through its children <Route>s and
renders the first one that matches the current URL. */}
<Switch>
<Route path="/about">
<About />
</Route>
<Route path="/users">
<Users />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</div>
</Router>
);
}
function Home() {
return <h2>Home</h2>;
}
function About() {
return <h2>About</h2>;
}
function Users() {
return <h2>Users</h2>;
}
다음과 같이 경로 섹션에 "정확한 경로" 키워드를 추가하십시오.<Route exact path="/" component={Home} />
"정확한"을 사용하지 않으면 경로에 "/"가 포함된 모든 구성요소를 렌더링할 것이다.
이 문제에 대해 정확하게 사용하십시오.
<Route exact path="/">
<Home />
</Route>
참조URL: https://stackoverflow.com/questions/63293111/reactjs-routing-causing-page-render-issues
반응형
'Programing' 카테고리의 다른 글
Vuex 작업에서 약속 반환 (0) | 2022.04.09 |
---|---|
왜 분할이 정수로 반올림되는가? (0) | 2022.04.09 |
Vue CLI CSS 사전 프로세서 옵션: dart-sass VS node-ass? (0) | 2022.04.08 |
Python을 사용한 웹 스크래핑 JavaScript 페이지 (0) | 2022.04.08 |
Vuex - 계산된 속성 "name"이(가) 할당되었지만 세터가 없음 (0) | 2022.04.08 |