[英]Conditional statement in react doesnt work
如果用户是,我正在尝试显示特定表单以供审核:
1. Is logged in
2. Is not administrator
3. Is not a moderator
所以我的代码是这样的:
<h2>Write a Review</h2>
{errorResortReview && <Message variant='danger'>{errorResortReview}</Message>}
{userInfo && (userInfo.role !== 'administrator' || userInfo.role !== 'resortOwner') ? (
<form onSubmit={submitHandler}>
<div className="form-group">
<label for="rating">Rating</label>
<ReactStars
count={5}
onChange={setRatingInput}
size={34}
activeColor="#ffd700"
/>
</div>
<div class="form-group">
<textarea className="form-control" value={comment} onChange={(e) => setComment(e.target.value)} id="comment" rows="3"></textarea>
</div>
<button type="submit" className="btn btn-primary">Submit</button>
</form>
) : <Message>Please <Link to='/login'>Login</Link> to write a review</Message>}
</li>
当我在我的反应组件上尝试这个时,即使用户是管理员和版主,它仍然显示表单。
注意:userInfo 保存当前登录用户的数据。
任何人都可以在这里发现问题吗?
你这里的逻辑是不正确的:
{userInfo && (userInfo.role !== 'administrator' || userInfo.role !== 'resortOwner') ? (
实现以下逻辑:
1. Is logged in
2. Is not administrator
3. Is not a moderator
利用:
{(userInfo && userInfo.role !== 'administrator' && userInfo.role !== 'resortOwner') ? (
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.