繁体   English   中英

反应中的条件语句不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM