将经过身份验证的用户的电子邮件设置为变量名

时间:2019-09-04 14:22:47

标签: javascript reactjs firebase

我正在使用Firebase身份验证创建ToDo应用。我正在使用本地存储来存储待办事项。问题是无论用户登录,我都得到相同的待办事项。如何为每个用户分别存储?

获得相同值的原因是因为我将待办事项保存在变量名“ items”中。我想将此变量名设置为当前登录用户的电子邮件。

我是ReactJS和JavaScript的初学者。我只是在摆弄。我知道我可以使用Firebase数据库来解决此问题。但我想解决这个问题,而不是替代。

使用{currentUser && currentUser.email}我得到了当前用户的电子邮件。

当前我有一个数组

var items = [];

我想要-

var {currentUser && currentUser.email} = [];

我该如何实现?任何提示都会有所帮助。

1 个答案:

答案 0 :(得分:0)

虽然我不是FireBase方面的专家,但用户:alphapilgrim提出的答案将是实现此目的的方法。

不过,为了回答这个问题,请添加一些有关变量命名的信息:

除非您想做一些我个人认为很狡猾的事情,否则您不能像在javascript中那样动态地命名变量:

获取全局上下文(浏览器上的窗口)并使用方括号表示法更新变量:

window[currentUser && currentUser.email] = [];

我建议不要这样做,如果遇到确实需要执行以下操作的情况,最好定义一个本地对象并添加类似于上面的动态属性:

const allItems = {};
allItems[currentUser && currentUser.email] = [];

同样,我要说的是,对于您的用例,最好调整Firebase存储并进行查询。