反应路由器交换机Redux调度

时间:2019-04-02 15:55:41

标签: react-redux react-router

我有以下switch语句,该语句根据用户所在的链接将用户路由到正确的组件。

const Router = (props) => {
    switch(props.page) {
        case 'Equities' :
            this.props.pageName('Equities'); 
            this.props.pageURL('/Equities'); 
            return <Equities />;
        case 'Daily' : 
            return <Daily />;
        default :
            return ( <Redirect to="/Equities" /> )
    }
  }

const content = ({ match }) => {

    return (
        <div className="content">
            <Router page={match.params.type} />
        </div>
    );
}

const mapDispatchToProps = {
    pageURL,
    pageName
   };

export default connect(mapDispatchToProps)(content);

在上面的第四行,我试图向Redux派遣一个操作,以更新用户所在的Redux存储中的页面名称和URL。我收到以下错误: enter image description here

如何根据页面用户的使用情况来调度操作,以便将名称和URL更新为正在访问的页面用户?

1 个答案:

答案 0 :(得分:0)

因此,对于任何遇到此问题的人,这似乎是由于我在将redux添加到使用compose模块崩溃的页面时出错所引起的。

我的应用程序组件结构如下: 应用->骨架->顶部栏,侧边栏,内容

因此在Content组件内部,我有一个开关,可以为用户显示正确的内容。我试图将此功能添加到内容。现在,我添加到了Skeleton,它可以正常工作并且更好,因为我现在不需要在switch中添加8个不同的语句,如果匹配则可以这样做。现在我所拥有的只是this.props.pageName(match.url); this.props.pageURL(match.params.type);,所以我在redux中记录了用户所在的位置,仅此而已。