reactjs - react-router-dom 匹配对象 isExact false
问题描述
我正在做一个反应项目。我尝试访问 Header 组件中的 url 参数。但是,它总是返回空。
import React from 'react';
import { Route, Switch } from 'react-router-dom';
import { ConnectedRouter } from 'connected-react-router'
import SamplePage from './pages/SamplePage';
import PropertyPage from './pages/PropertyPage';
import LoadingPage from './pages/LoadingPage';
import Header from './header/Header';
import ButtonGroup from './ButtonGroup';
import { Container } from 'semantic-ui-react';
import history from '../history';
const App = () => {
return (
<ConnectedRouter history={history}>
<div>
<Switch>
<Route path='/loading' exact component={LoadingPage} />
<Route component={Header} title='Sample page' />
</Switch>
<Container style={{ marginTop: '7em' }}>
<Switch>
<Route
path='/page/:pageType/properties/:propertyId'
exact
component={PropertyPage}
/>
<Route path='/page/:pageType' exact component={SamplePage} />
</Switch>
</Container>
<Switch>
<Route exact path='/loading' render={() => <div />} />
<Route component={ButtonGroup} />
</Switch>
</div>
</ConnectedRouter>
);
}
export default App;
我尝试访问 Header 组件中的 url 参数。参数为空,isExact 为假。谁能帮我这个?谢谢。
解决方案
我仍然无法弄清楚如何解决这个问题。为了解决这个问题,我要做的是创建一个高阶组件。Header 会包含在 HOC 中,那么获取 URL 参数就没有问题了。
推荐阅读
- python - 如何以一致的方式从左到右和从上到下对轮廓进行排序
- mysql - ERROR 2006 (HY000): MySQL server has gone away - 尽管对配置文件进行了更改
- docker - Docker Compose(Docker) 中未设置目录权限
- c++ - C++ winapi VirtualQueryEx 函数给了我“000000”
- asp.net-core - 如何从 ASP.Net Core 中的查询字符串构造非默认构造函数模型?
- linux - 如何在两个 VM Linux 之间同步两个文件夹?
- java - 使用 AsyncTask 根据值定义文本颜色
- buffer - 以椭圆形将 SpatialPoints 扩展到 SpatialPolygon
- angular - 从材料日期选择器中提取和分解日期
- c# - 填充 ComboBox(3 层架构)