开发者问题收集

使用 React-router 获取 Redux 中间件中的 url 参数

2016-07-01
7380

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

2个回答

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

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

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

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

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

更多信息

Kokovin Vladislav
2016-07-01

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

类似这样的内容:

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

请注意,您需要使用 react-redux Connect 方法 使 dispatch 可用于您的组件。例如:

export default connect()(YourComponent);
U r s u s
2016-07-01