我在SOF中的第一个问题似乎有些愚蠢,但让我们考虑一下我是Web开发新手并创建我的第一个JavaScript应用程序:)。我试图访问变量的值,以便在调度时使用它。该值是我从Firebase数据库获得的密钥,我想将值传递给“dispatch”方法中的“子”选项。这就是我所做的
export function addUser(name, username, image) {
var lastIndex;
usersRef.limitToLast(1).once("child_added", function(snapshot) {
lastIndex = snapshot.key;
});
return dispatch => usersRef.child(lastIndex).set({"name": name, "username": username, "image": image});
}
lastIndex是我尝试在调度中访问的变量,但它返回未定义的
答案 0 :(得分:2)
您正在事件侦听器中设置lastIndex,在调度调度时,事件尚未被触发。处理异步调用是Redux-thunk将调度传递给返回函数的操作的原因。更好的方法是
$dataProviderTranscation = new ActiveDataProvider([
'query' => OpOccupierTrxGroup::find()->where(['occupier_id'=>$occupier['id'])->all();
但是这样的功能在中间件中更好。