我使用 React Router v4 ,并且效果很好。
<Switch>
<Router path="/users/:uid" component={Profile} />
<Router path="*" component={NotFound} />
</Switch>
好的,如果我访问域/blabla
,则 NotFound 组件呈现良好。
但是我不知道当不存在用户时如何将 NotFound 呈现给/users/:uid
。
app.get('/users/:uid', (req, res) {
if( // user exist) {
res.json({user})
}
else res.status(404).json({ message: 'User not exist'})
})
也许我需要连接服务器响应,但是我不知道什么是最好的方法。
class Profile extends Component {
componentWillMount = () => {
this.props.fetchUser(uid)
}
render(){
if(!this.props.loading && !this.props.user) return <NotFound />
else return (...)
}
}
这是正确的方法吗?我一起使用redux。
答案 0 :(得分:0)
class Profile extends Component {
render(){
if(!this.props.loading && !this.props.user) {
this.props.history.push('/bababa') // you can jump to notFound
return
}
else return (...)
}
}
是吗?