ReactJS和Symfony2如何检测用户是否登录React组件

ReactJS和Symfony2如何检测用户是否登录React组件,symfony,reactjs,Symfony,Reactjs,你能分享一下你的经验和最佳实践吗 ReactJS和Symfony2是否共同使用您通常如何检测用户登录或未登录React组件?假设我们需要显示“删除”按钮或向用户打招呼,以防用户登录。你有什么建议?是否在全局范围内存储用户凭据 const ExampleBox = React.createClass({ maybeSayHi: function () { if (USER.IS_AUTHENTICATED_FULLY) { return &l

你能分享一下你的经验和最佳实践吗 ReactJS和Symfony2是否共同使用您通常如何检测用户登录或未登录React组件?假设我们需要显示“删除”按钮或向用户打招呼,以防用户登录。你有什么建议?是否在全局范围内存储用户凭据

const ExampleBox = React.createClass({

    maybeSayHi: function () {   
        if (USER.IS_AUTHENTICATED_FULLY) {
            return <div>Hi, user</div>;
        }
    },


    render: function () {
        return (
            <div>
                {this.maybeSayHi()}
                <div>
                    Lorem
                </div>
            </div>
        );
    }
});
const ExampleBox=React.createClass({
maybeSayHi:函数(){
if(USER.IS\u已完全验证){
返回Hi,用户;
}
},
渲染:函数(){
返回(
{this.maybeSayHi()}
洛勒姆
);
}
});

经过一些讨论,我使用了以下解决方案

  • 在我的TWIG模板中,我定义了几个隐藏元素,在其中我设置了所有需要的用户凭据,如用户id和区域设置(语言):

{%if'is'u AUTHENTICATED'u membered')%}
{%endif%}
  • 然后在React的组件初始化过程中,我将这些隐藏字段中的值作为一个变量抓取到组件中
var userId=document.getElementById(“用户id”).value;
var userLanguage=document.getElementById(“用户语言”).value;
//我们甚至可以将其存储在全局变量中
window.USER\u详细信息={
用户id:userId,
用户语言:用户语言
};
ReactDOM.render(,document.getElementById('application'));

Imho,react就是将数据推送到组件中,所以我推一个用户对象。