将新查询参数合并到路由器的当前位置

时间:2016-06-23 09:48:21

标签: react-router

我有一个需要通过添加新的查询字符串参数来更新(推送)当前位置的react组件。

示例:

当前LOC:http://localhost/#/reports?state=open

在LOC之后:http://localhost/#/reports?state=open&category=2

更新后告诉反应路由器导航到新位置,其他一些组件将接收更改并过滤一些数据... jadajadajada

我用(withRouter)包装我的组件以获取对路由器对象的访问权限,但是我无法理解如何第一次获取当前位置(如果我甚至需要?)和其次如何添加新查询。

最好我也想"合并"位置查询部分的对象如{category:2},因为当前位置可能只是/ reports而不是/ reports?state = open。

想法,建议?

这是路由器2.4xxx(至少是这个问题的最新版本)

一些基本代码:

    class Filter extends Component {

    handleoOnSelectionChange(category){

        // HERE - push new location by adding {'category': category.id}
    }

    render() {

        ....
}

const mapDispatchToProps = (dispatch) => {
....
}

const mapStateToProps = (state, {location}) => {
...
};

export default withRouter(connect(
    mapStateToProps,
    mapDispatchToProps
)(Filter))

0 个答案:

没有答案