In my router, I need to do the following:
if (props.location.pathname !== '/confirm') {
// redirect to /confirm to force the user to confirm their email
}
The if statement is not acting as expected.
If I output:
console.log(props.location.pathname)
I get in the console.
/confirm
However, props.location.pathname
with the value of '/confirm' is not being seen as the same as /confirm
What am I doing wrong?
In my router, I need to do the following:
if (props.location.pathname !== '/confirm') {
// redirect to /confirm to force the user to confirm their email
}
The if statement is not acting as expected.
If I output:
console.log(props.location.pathname)
I get in the console.
/confirm
However, props.location.pathname
with the value of '/confirm' is not being seen as the same as /confirm
What am I doing wrong?
Share Improve this question asked Jul 4, 2017 at 17:11 AnnaSmAnnaSm 2,3006 gold badges24 silver badges35 bronze badges 3-
2
What is
typeof props.location.pathname
? Strict parisona !== b
is true if types are different. – Yury Tarabanko Commented Jul 4, 2017 at 17:13 -
typeof props.location.pathname
returns string – AnnaSm Commented Jul 4, 2017 at 17:32 -
1
Then it should be ok to use
props.location.pathname !== '/confirm'
. Make sure you don't have some space or special character in "/confirm". – Yury Tarabanko Commented Jul 4, 2017 at 17:35
2 Answers
Reset to default 4To pare two strings in React.js, you can simply use triple-equals (or ===) as below:
if (stringTemp === 'desired string'){
console.log('Equal');
}
type of both the operands should be same while using == for parision.Make sure both are of string type or change if to
if (props.location.pathname != '/confirm') {
// redirect to /confirm to force the user to confirm their email
}