使用React-router在Redux中间件中获取url params

时间:2016-07-01 08:59:30

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

我想在Redux中间件中提取URL参数,以便分派操作并在有效负载中使用这些值。

2 个答案:

答案 0 :(得分:4)

为了实现目标,您可以使用 redux-router

此库允许您将路由器状态保留在Redux存储区中。 因此,获取当前路径名,查询和参数就像选择应用程序状态的任何其他部分一样简单。

之后,您可以从中间件中获取参数

export const someMiddleware = store => next => action=> {
    /// get params
    let params = store.getState().router.params;

    ///then do what you want...........
    next(action)
};

MORE INFO

答案 1 :(得分:1)

您无需访问中间件内的params。一种常见模式只是通过您要分派操作的组件中的params访问props

这样的事情:

this.props.dispatch(yourAction(this.props.params));

请注意,您需要使用react-redux Connect method为您的组件提供dispatch。例如:

export default connect()(YourComponent);