【发布时间】:2021-01-02 06:44:39
【问题描述】:
如果用户是:
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>
当我在我的 react 组件上尝试这个时,即使用户是管理员和版主,它仍然显示表单。
注意:userInfo 保存的是当前登录用户的数据。
谁能发现这里的问题?
【问题讨论】:
-
这永远是真的,对吧?
userInfo.role !== 'administrator' || userInfo.role !== 'resortOwner' -
不应该是,
userInfo && userInfo.role !== 'administrator' && userInfo.role !== 'resortOwner'吗?
标签: javascript reactjs express redux