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,如果我的答案对你有效,请将其标记为已接受(绿色复选标记)✓) 并投票表决。提前感谢!