在ReactJs ES5中为全局变量分配值

时间:2018-09-08 15:10:41

标签: reactjs socket.io

我是Reactjs的新手,并且正在使用React和SocketIO开发一个简单的应用程序。我正在尝试声明一个全局变量,并为其分配{data.name}值(如下所示的代码)。

socket.on('loginSuccess', function (data) {
if (data.type == 'teacher') {
    ReactDOM.render(
        <div><TeacherLayout userName={data.name}/></div>,
        document.getElementById('root')
    );
} else {
    ReactDOM.render(
        <div><StudentLayout userName={data.name}/></div>,
        document.getElementById('root')
    );
}
reactCookie.save('sid', data.id);
});

我想将全局变量传递给下面显示的代码的userName

socket.on('sessionstart', function (data) {
    ReactDOM.render(
        <div><MainLayout userName={globalVariable}/></div>,
        document.getElementById('root')
    );
}
reactCookie.save('sid', data.id);
 });

我非常感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以为此使用localstorage。

//Set your gloabal variable from any where in your app by
localStorage.setItem("key(variable-name)","value")


//Get your gloabal variable from any where in your app by
localStorage.getItem("key(variable-name)")