反应路由器dom v6未在mapStateToProps中填充ownProps

时间:2020-10-02 19:18:47

标签: reactjs react-redux react-router-dom

我最近安装了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

任何人都可以为此提供解决方案。谢谢!

0 个答案:

没有答案