我最近安装了beta版本的react-router-dom V6,因为我喜欢Outlet和基于对象的路由,因为它们使我的生活更轻松。但是,由于我正在使用React-Redux,所以存在无法在mapStateToProps
函数中获取URL参数的问题:
const mapStateToProps = (state, ownProps) => {
return {
campaign: selectCampaignById(state, ownProps.match.params.id),
};
};
路线定义为:
const routes = useRoutes({
path: 'admin',
element: <DashboardLayout />,
children: [
{ path: '/', element: <DashboardContainer /> },
{ path: 'campaign/edit/:id', element: <CampaignEdit /> },
{ path: 'campaign/create', element: <CampaignCreate /> },
{ path: 'campaign', element: <CampaignListView /> },
...
],
});,
在上面的示例中,ownProps.match
对象在使用react-router-dom V5时未定义。我想强调一下,路由和其他所有东西都在起作用,除了我无法用网址参数填充ownProps.match
。
任何人都可以为此提供解决方案。谢谢!