【发布时间】:2020-09-17 03:13:27
【问题描述】:
我正在尝试将路由分隔到它们自己的文件中,但它们似乎总是被渲染,即使我已将 exact 添加到 path。
回家路线 - home.js:
import React from 'react';
import { BrowserRouter as Route } from 'react-router-dom';
import { HomePageView } from 'components'
const HomeRoute = () => (
<Route exact path='/home'>
<HomePageContainer />
</Route>
)
export default HomeRoute;
HomePageView.js:
import React from 'react';
class HomePageView extends React.Component {
render() {
return (
<div>Some text here</div>
)
}
}
export default HomePageView;
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import HomeRoute from 'routes/home'
import * as serviceWorker from './serviceWorker';
ReactDOM.render(
<Router>
<HomeRoute />
</Router>,
document.getElementById('root')
);
问题在于它会在任何路径上呈现 HomePageView 组件,我不明白为什么会发生这种情况,因为如果我将 <HomeRoute /> 从 index.js 替换为:
<Route exact path='/home'>
<HomePageContainer />
</Route>
【问题讨论】:
标签: javascript reactjs path react-router url-routing