在ReactJS中根据身份验证状态显示元素
Showing elements based on authentication status in ReactJS
我试图仅在用户登录时显示'edit-btn'。在ReactJS中实现这一点的最好方法是什么?如果没有登录,就呈现没有元素的组件,如果用户登录了,就呈现元素?如果有,实现这一目标的最佳方法是什么?我对ReactJS很陌生。
class LeftBlock extends React.Component {
render() {
return (
<div className="left-block">
{this.props.children}
<a href="#" className="edit-btn"><i className="fa fa-pencil"></i></a>
<br className="clear" />
</div>
);
}
}
您可以有条件地呈现组件,即使它们是空的。
class LeftBlock extends React.Component {
render() {
var isAuth = false; // You'll need to figure out a way how to get this - From a store maybe or cookie?
var button;
if (isAuth){
button = (<a href="#" className="edit-btn"><i className="fa fa-pencil"></i></a>);
}
return (
<div className="left-block">
{this.props.children}
{button}
<br className="clear" />
</div>
);
}
}
在这种情况下,如果isAuth为false,则不会呈现任何东西来代替{button}。
在获取isAuth状态方面,我建议使用AuthenticationStore,这样您就可以从组件中获取身份验证信息。
如果您还不熟悉Flux架构,请检查它。https://facebook.github.io/flux/docs/overview.html
小提琴:https://jsfiddle.net/6yq1ctcp/1/
相关文章:
- 使用按钮和媒体查询切换显示状态
- 显示服务工作者状态的消息
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- 如何在状态输入ui路由器时立即显示模板,然后当承诺被解决时显示数据
- 在弹出窗口中显示状态
- 如何在 jquery 中的速率按钮下方显示消息状态
- 使用codehelper.io显示基于IP位置的状态缩写
- 在表重新加载后,使用setInterval保持表的显示-隐藏状态
- 如何使单选按钮在选择一个选项(CSS)后显示为选中状态
- 使选项卡处于活动/非活动状态未显示正确的数据
- 基于单选按钮状态的角度JS高亮显示行
- 如何在返回后将状态保持为突出显示JQuery树视图的选定节点
- 在高图表中显示一个状态的总时间之和
- Jquery根据复选框状态显示/隐藏
- Twitch流状态显示在线.当用户离线时
- 根据状态显示和隐藏元素
- 在ReactJS中根据身份验证状态显示元素
- 如何根据对象的状态显示类
- 如何在Ember.js中使用错误子状态显示整页错误
- 如何根据状态显示控制台.log