在React中使用PrivateRoute

时间:2018-11-10 13:58:32

标签: reactjs react-router-v4

在此代码中,用户登录时true的状态变为auth,但根据以下情况,privateRoute中使用的true不会变为checkauth() { this.setState({ authed:true }) } render() { function PrivateRoute ({component: Component, auth, ...rest}) { return ( <Route {...rest} render={(props) => auth === true ? <Component {...props} /> : <Redirect to={{pathname: '/', state: {from: props.location}}} />} /> ) } return ( <div> <Router history={browserHistory}> <div> <Navbar/> <Switch> <Route path="/" component={Firstpage} exact > </Route> <Route path="/signup" component={Signup}> </Route> <Route path="/shop/:id" component={Shop}></Route> <Route path="/login" render={(props) => <Login {...props} checkauth= {this.checkauth.bind(this)} />}> </Route> <PrivateRoute path='/newpath' component={Welcome} auth= {this.state.authed}/> </Switch> </div> </Router> </div> ); } 代码。

PrivateRoute

如何在{{1}}函数中使用App组件的状态,或者有其他方法可以做到这一点?

0 个答案:

没有答案