이 글은 주로 React Router 4.0 이상의 라우팅 응용 프로그램에 대한 자세한 설명을 소개합니다. 편집자는 꽤 좋다고 생각하므로 이제 공유하고 참고용으로 제공하겠습니다. 편집자를 따라가서 모두에게 도움이 되기를 바랍니다.
React Router 4.0 이하에서는 중첩된 경로를 라우터 태그에 다음과 같은 형태로 배치할 수 있으며, 중첩된 경로도 직접 함께 배치할 수 있습니다.
<Route component={App}> <Route path="groups" components={Groups} /> <Route path="users" components={Users}> <Route path="users/:userId" component={Profile} /> </Route> </Route>
하지만 4.0 이후에는 중첩된 라우팅이 이전과 완전히 다릅니다. 라우팅을 처리하려면 중첩된 루트 구성 요소에 별도로 배치해야 합니다. 그렇지 않으면 항상 경고가 표시됩니다.
b5425ae5408a6c134886a269d44affb6 및 267f3d31687634d3c230ef8911379a05 같은 경로에 있습니다
올바른 형식은 다음과 같습니다
<Route component={App}> <Route path="groups" components={Groups} /> <Route path="users" components={Users}> //<Route path="users/:userId" component={Profile} /> </Route> </Route>
위의 중첩된 경로를 주석 처리하세요
const Users = ({ match }) => ( <p> <h2>Topics</h2> <Route path={`${match.url}/:userId`} component={Profile}/> </p> )
위는 중첩된 라우팅이 필요한 구성요소입니다.
중첩 라우팅의 전체 예는 다음과 같습니다
지침 및 주의 사항
1. 다음 코드는 ES6 형식입니다
2.react-router-dom 버전은 4.1.1
3. HashRouter와 같은 기록 사용에 주의하세요. 그렇지 않으면 항상 경고가 표시되며 렌더링할 수 없습니다.
import React, { Component } from 'react'; import ReactDOM from 'react-dom'; // import { Router, Route, Link, Switch } from 'react-router'; import { HashRouter, Route, Link, Switch } from 'react-router-dom'; class App extends Component { render() { return ( <p> <h1>App</h1> <ul> <li><Link to="/">Home</Link></li> <li><Link to="/about">About</Link></li> <li><Link to="/inbox">Inbox</Link></li> </ul> {this.props.children} </p> ); } } const About = () => ( <p> <h3>About</h3> </p> ) const Home = () => ( <p> <h3>Home</h3> </p> ) const Message = ({ match }) => ( <p> <h3>new messages</h3> <h3>{match.params.id}</h3> </p> ) const Inbox = ({ match }) => ( <p> <h2>Topics</h2> <Route path={`${match.url}/messages/:id`} component={Message}/> </p> ) ReactDOM.render( (<HashRouter> <App> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/inbox" component={Inbox} /> </App> </HashRouter>), document.getElementById('root') );
관련 권장 사항:
react-router4 webpack require.ensure와 협력하여 비동기화 달성 로딩
위 내용은 React Router4.0 이상에서 라우팅을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!