const myFunction = (props) => {
let myCondition = false;
console.log('-----****----',props);
if(props && props.isAllowed) {
myCondition = true;
}
if(someOtherCondition)
console.log('', myCondition);
{
return(
<li><Link className="vx_globalNav-links" to="#">Policies</Link>
<ul>
<li><Link className="vx_globalNav-links" to="/my-policy">My Policy</Link></li>
{ myCondition && (<li><Link className="vx_globalNav-links" to="/condition-policy">Condition Policy</Link></li>)}
</ul>
</li>
);
}
return null;
};
The above code seems to be not working for condition based link to display on UI for "Condition policy" even though I get "true" for "myCondition" in the console log which is just logged before the return statement. Wondering What's wrong here. Any help is really appreciated.
CodePudding user response:
It looks like you put a statement immediately after your if()
statement, and so your block of code within { ... }
is not executed as part of your if
statement.
if(someOtherCondition)
console.log('', myCondition);
{
return(
The curly braces must follow immediately after the if()
statement, otherwise, as it is in this case, the console.log
is executed when someOtherCondition
is true. And whatever is within { ... }
is executed anyway regardless.
CodePudding user response:
Your if statement syntax is wrong