using PrivateRoute in React
up vote
0
down vote
favorite
In this code, authed state becomes true when the user logs in, but auth used in privateRoute does not become true according to the below code.
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>
);
}
How can I use the states of the App component in the PrivateRoute function or is there any other method to do this?
reactjs react-router-v4
add a comment |
up vote
0
down vote
favorite
In this code, authed state becomes true when the user logs in, but auth used in privateRoute does not become true according to the below code.
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>
);
}
How can I use the states of the App component in the PrivateRoute function or is there any other method to do this?
reactjs react-router-v4
Please share yourcheckauth()method.
– Levi Payne
Nov 10 at 14:09
Ok..I edited the code
– Sandz
Nov 10 at 14:11
I don't see anything that looks off here. Perhaps share yourLogincomponent as well. Also, what debugging steps have you taken? How do you know thatauthis not true?
– Levi Payne
Nov 10 at 14:29
Duplicate: stackoverflow.com/questions/53197248/…
– matt carlotta
Nov 10 at 23:21
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
In this code, authed state becomes true when the user logs in, but auth used in privateRoute does not become true according to the below code.
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>
);
}
How can I use the states of the App component in the PrivateRoute function or is there any other method to do this?
reactjs react-router-v4
In this code, authed state becomes true when the user logs in, but auth used in privateRoute does not become true according to the below code.
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>
);
}
How can I use the states of the App component in the PrivateRoute function or is there any other method to do this?
reactjs react-router-v4
reactjs react-router-v4
edited Nov 10 at 15:45
c-chavez
1,92821427
1,92821427
asked Nov 10 at 13:58
Sandz
45
45
Please share yourcheckauth()method.
– Levi Payne
Nov 10 at 14:09
Ok..I edited the code
– Sandz
Nov 10 at 14:11
I don't see anything that looks off here. Perhaps share yourLogincomponent as well. Also, what debugging steps have you taken? How do you know thatauthis not true?
– Levi Payne
Nov 10 at 14:29
Duplicate: stackoverflow.com/questions/53197248/…
– matt carlotta
Nov 10 at 23:21
add a comment |
Please share yourcheckauth()method.
– Levi Payne
Nov 10 at 14:09
Ok..I edited the code
– Sandz
Nov 10 at 14:11
I don't see anything that looks off here. Perhaps share yourLogincomponent as well. Also, what debugging steps have you taken? How do you know thatauthis not true?
– Levi Payne
Nov 10 at 14:29
Duplicate: stackoverflow.com/questions/53197248/…
– matt carlotta
Nov 10 at 23:21
Please share your
checkauth() method.– Levi Payne
Nov 10 at 14:09
Please share your
checkauth() method.– Levi Payne
Nov 10 at 14:09
Ok..I edited the code
– Sandz
Nov 10 at 14:11
Ok..I edited the code
– Sandz
Nov 10 at 14:11
I don't see anything that looks off here. Perhaps share your
Login component as well. Also, what debugging steps have you taken? How do you know that auth is not true?– Levi Payne
Nov 10 at 14:29
I don't see anything that looks off here. Perhaps share your
Login component as well. Also, what debugging steps have you taken? How do you know that auth is not true?– Levi Payne
Nov 10 at 14:29
Duplicate: stackoverflow.com/questions/53197248/…
– matt carlotta
Nov 10 at 23:21
Duplicate: stackoverflow.com/questions/53197248/…
– matt carlotta
Nov 10 at 23:21
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53239696%2fusing-privateroute-in-react%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Please share your
checkauth()method.– Levi Payne
Nov 10 at 14:09
Ok..I edited the code
– Sandz
Nov 10 at 14:11
I don't see anything that looks off here. Perhaps share your
Logincomponent as well. Also, what debugging steps have you taken? How do you know thatauthis not true?– Levi Payne
Nov 10 at 14:29
Duplicate: stackoverflow.com/questions/53197248/…
– matt carlotta
Nov 10 at 23:21