Reactjs 如果用户在React上转到非公共url,如何重定向?

Reactjs 如果用户在React上转到非公共url,如何重定向?,reactjs,react-router-dom,Reactjs,React Router Dom,好的,我有一个名为页面的模板组件。如果我走不同的路线,相同的填塞器将用于不同的信息。这是我在页面内的内容: class Page extends Component { render() { console.log(this.props.children); return ( <div className="page"> <Header></Header> {this.props.children

好的,我有一个名为页面的模板组件。如果我走不同的路线,相同的填塞器将用于不同的信息。这是我在页面内的内容:

class Page extends Component {
  render() {
    console.log(this.props.children);
    return (
      <div className="page">
        <Header></Header>
        {this.props.children}
      </div>
    );
  }
}
类页扩展组件{
render(){
console.log(this.props.children);
返回(
{this.props.children}
);
}
}
这是Routes.js组件:

<Route path="/" render={() => (
  <Page>
    <Switch>
      <Route path='/home' component={Home}></Route>
      <Route path='/users/new' component={RegistrationForm}></Route>
      <Route path='/users' component={Table}></Route>
    </Switch>
  </Page>
)}></Route>
(
)}>
但是,当我转到localhost:3000/时,它显示的模板没有任何内容。如果用户转到/,我想重定向到/home

我试着把

<Redirect>

像这样:

<Route path='/' render={() => (
  <Fragment>
    <Redirect to='/home'></Redirect>
    <Page>
      <Switch>
        <Route path='/home' component={Home}></Route>
        <Route path='/users/new' component={RegistrationForm}></Route>
        <Route path='/users' component={Table}></Route>
      </Switch>
    </Page>
  </Fragment>
)}></Route>
(
)}>
现在我进入的每个页面都被重定向到/home。有人知道如何做到这一点吗?

应该很容易:)

您只需将“从道具”添加到
,并将其作为第一条路线:

<Redirect from="/" to="/home" />

应该很简单:)

您只需将“从道具”添加到
,并将其作为第一条路线:

<Redirect from="/" to="/home" />

您需要使用中的
精确的
属性。为了使用这两个属性,这样的
重定向
必须是
开关
组件的子级(查看文档):

(
)}>

您需要使用
中的
精确的
属性。为了使用这两个属性,这样的
重定向
必须是
开关
组件的子级(查看文档):

(
)}>

出于某种原因,即使使用所有路由都被重定向到主页。。。即使出于某种原因我尝试转到/users/new或/users,即使使用该选项,所有路由都会重定向到home。。。即使我尝试访问/users/new或/users@JeffGoes如果我的答案对你有效,请将其标记为已接受(绿色复选标记)✓) 请提前谢谢!@JeffGoes,如果我的答案对你有效,请将其标记为已接受(绿色复选标记)✓) 并投票表决。提前感谢!