我想在Redux中间件中提取URL参数,以便分派操作并在有效负载中使用这些值。
答案 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)
};
答案 1 :(得分:1)
您无需访问中间件内的params
。一种常见模式只是通过您要分派操作的组件中的params
访问props
。
这样的事情:
this.props.dispatch(yourAction(this.props.params));
请注意,您需要使用react-redux Connect method为您的组件提供dispatch
。例如:
export default connect()(YourComponent);