最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Reactjs, How to compare props.location.pathname to a string? - Stack Overflow

programmeradmin11浏览0评论

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 parison a !== 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
Add a ment  | 

2 Answers 2

Reset to default 4

To 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

}

发布评论

评论列表(0)

  1. 暂无评论