如何使用react react-router v4在axios拦截器中放置history.push位置?

时间:2018-12-01 10:09:56

标签: reactjs push router react-router-v4 history

有必要根据拦截器内部的状态将其推送到特定位置,例如“ / login”。

是否可以直接推送到某个位置?

1 个答案:

答案 0 :(得分:1)

可能是一种快速而丑陋的方式。 window.location.replace('/ myUrl')

更新

WorkAround可能是

/ ** RootComponent * /

export const myRouter = {};
@withRouter()
Class RootComponent extends React.Component {
    constructor(props) {
       super(props);
       myRouter = this.props.router;
    }
    render() {
      return <Provider store={store}>
            <MainComponent/>
         </Provider>
    }
}

/ **拦截器* /

import { myRouter } from 'RootComponent';

if (status == 401) {
    myRouter.push('/myUrl');
}