ReactJs - 重定向网址

时间:2017-05-25 08:11:00

标签: javascript reactjs

我是reactjs的新手 - 如果我在子页面上遇到错误页面 - 因为网址错误 - 我正在寻找一种方法将页面重定向到另一个页面。

所以de / dienstleistungen / isdfisf - 拼错了 重定向到de / dienstleistungen

我试过写一个函数来处理这个但没有运气

  if (!lang.serviceIntro[0][service]) {
    console.log('undefined', this)
    this.context.router.push('/de/dienstleistungen')
  }

上下文类型失败:提供给router的{​​{1}}类型的上下文object无效,预期为PlainHeader

2 个答案:

答案 0 :(得分:0)

你正在使用react-router吗?如果使用哪个版本,你呢? 查看当前在v4上的https://reacttraining.com/react-router/web/api/history。这是我的代码

class App extends Component {
    componentDidMount() {
        let token = ... // achieve token
        if (!token) {
            this.props.history.push('/login');
        }
    }

    render() {
        ....
    }
}

主页检查中的代码如果未经过身份验证,将以编程方式重定向到登录页面。道具 this.props.history 将通过反应路由器传递。 查看上面的文档以获取更多信息。希望有所帮助

答案 1 :(得分:0)

正如错误消息所示,您应该将contextTypes.router声明为对象,路由器是旧版本中的函数

static contextTypes = {
  router: PropTypes.object.isRequired
}