猿问

如何推动历史在反应路由器v4?

如何推动历史在反应路由器v4?

在当前版本的Reaction路由器(V3)中,我可以接受服务器响应并使用browserHistory.push若要转到适当的响应页面,请执行以下操作。但是,这在v4中是不可用的,我也不知道如何正确地处理这个问题。

在本例中,使用Redux,组件/应用程序-产品-form.js打电话this.props.addProduct(props)当用户提交表单时。当服务器返回成功时,用户将被带到购物车页面。

// actions/index.jsexport function addProduct(props) {
  return dispatch =>
    axios.post(`${ROOT_URL}/cart`, props, config)
      .then(response => {
        dispatch({ type: types.AUTH_USER });
        localStorage.setItem('token', response.data.token);
        browserHistory.push('/cart'); // no longer in React Router V4
      });}

如何从ReactiveRoutv 4函数重定向到购物车页面?


炎炎设计
浏览 538回答 3
3回答

撒科打诨

我就是这样做的:import&nbsp;React,&nbsp;{Component}&nbsp;from&nbsp;'react';export&nbsp;default&nbsp;class&nbsp;Link&nbsp;extends&nbsp;Component&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;constructor(props)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super(props); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.onLogout&nbsp;=&nbsp;this.onLogout.bind(this); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;onLogout()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.props.history.push('/'); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;render()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<h1>Your&nbsp;Links</h1> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button&nbsp;onClick={this.onLogout}>Logout</button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;}}使用this.props.history.push('/cart');要重定向到Cart页面,它将保存在历史对象中。
随时随地看视频慕课网APP
我要回答