Reactjs 为什么我们需要呈现一个组件来在react路由器中发出重定向?

Reactjs 为什么我们需要呈现一个组件来在react路由器中发出重定向?,reactjs,react-router,Reactjs,React Router,在react router v4中,我们现在需要使用一个组件将用户重定向到其他地方 虽然在构建routes组件时(因此路由可以发出重定向)是有意义的,但当您发生错误并且必须重定向到某个位置或在用户操作后重定向(这不是简单的链接单击)时,这是非常奇怪的 除了链接相似的路由之外,重定向也是一种被动行为,所以为什么重定向没有API方法,只有一个组件?在某些情况下,非常好用 但是,这不是必须的 在很多情况下,我创建了“编程重定向”,您可以使用道具中的“历史记录” this.props.history.p

在react router v4中,我们现在需要使用一个组件将用户重定向到其他地方

虽然在构建routes组件时(因此路由可以发出重定向)是有意义的,但当您发生错误并且必须重定向到某个位置或在用户操作后重定向(这不是简单的链接单击)时,这是非常奇怪的


除了链接相似的路由之外,重定向也是一种被动行为,所以为什么重定向没有API方法,只有一个组件?

在某些情况下,
非常好用

但是,这不是必须的

在很多情况下,我创建了“编程重定向”,您可以使用道具中的“历史记录”

this.props.history.push('/dashboard')

如果您无法访问道具中的“历史”,因为您的组件未在管线内渲染

您可以将帮助器
与路由器一起使用

import {
  withRouter
} from 'react-router-dom'
只需用它包装组件,就可以将历史作为道具访问

const yourComponent = props => {
    // this.props.history is here

    return <div> dont care </div>;
}
constyourcomponent=props=>{
//历史就在这里
回报不在乎;
}

如果要以编程方式重定向,可以使用
this.props.history.replace
this.props.history.push
。好的,在我遇到此问题时,这似乎是一个文档问题。对不起,被骗了