我正在使用Firebase身份验证创建ToDo应用。我正在使用本地存储来存储待办事项。问题是无论用户登录,我都得到相同的待办事项。如何为每个用户分别存储?
获得相同值的原因是因为我将待办事项保存在变量名“ items”中。我想将此变量名设置为当前登录用户的电子邮件。
我是ReactJS和JavaScript的初学者。我只是在摆弄。我知道我可以使用Firebase数据库来解决此问题。但我想解决这个问题,而不是替代。
使用{currentUser && currentUser.email}我得到了当前用户的电子邮件。
当前我有一个数组
var items = [];
我想要-
var {currentUser && currentUser.email} = [];
我该如何实现?任何提示都会有所帮助。
答案 0 :(得分:0)
虽然我不是FireBase方面的专家,但用户:alphapilgrim提出的答案将是实现此目的的方法。
不过,为了回答这个问题,请添加一些有关变量命名的信息:
除非您想做一些我个人认为很狡猾的事情,否则您不能像在javascript中那样动态地命名变量:
获取全局上下文(浏览器上的窗口)并使用方括号表示法更新变量:
window[currentUser && currentUser.email] = [];
我建议不要这样做,如果遇到确实需要执行以下操作的情况,最好定义一个本地对象并添加类似于上面的动态属性:
const allItems = {};
allItems[currentUser && currentUser.email] = [];
同样,我要说的是,对于您的用例,最好调整Firebase存储并进行查询。