【发布时间】:2018-05-01 16:05:27
【问题描述】:
大家好:)
我从 Firebase && Redux 开始,但在公式中 on-function 的回调 firebase.database().ref() 遇到了一些问题
function getAll() {
const uid = JSON.parse(localStorage.getItem('user'))
.uid;
const dbRef = firebase.database()
.ref().child('events');
const userRef = dbRef.child(uid);
let answer = [];
userRef.on('value', snap => {
let rx = snap.val();
for (let item in snap.val()) {
answer.push(rx[ item ]);
}
});
return Promise.resolve({
events: answer
});
}
我在做什么?
我在调用此服务之前创建了一些操作(触发器),并且此方法必须在使用缩减器将结果保存到store 之前触发。
这是预期的。 但是,...
我的现实是什么?
- 该方法及时触发,好新:-) 但是,
-
callback(原样)在(1或1.5s)几秒钟后触发,而redux本身,非常快的单元,同时触发并进行反应渲染。简而言之,在 firebase 回调返回值之前,组件会被大量渲染。
最后我需要渲染,重新加载页面,更改到应用程序的另一个路由,以便可以将保存的更改应用于渲染。
由于我是从 redux 和 firebase 开始的,所以我不确定 100%(但只有 70%)确定这些扣除,但它们是在这种情况下我可以找到更好的方法。
那是什么情况?
我现在急需任何帮助,感谢您为我提供的任何帮助:)
【问题讨论】:
标签: javascript reactjs firebase firebase-realtime-database redux