Redux异步操作getState()返回undefined?

时间:2018-04-05 16:54:36

标签: reactjs redux redux-thunk

我遇到了与redux-thunk遇到的问题,当我第一次调用getState()时,我试图获取我的redux状态的属性以便调度相关的操作,我得到了值,但后续调用getState()返回undefined,我注意到当我检查状态时,订阅数组在第一次调用后为空,我不知道为什么会发生这种情况。下面是我的代码片段...先谢谢你们。

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

这是因为您使用的是pop()

  

pop()方法从数组中删除最后一个元素并返回   那个元素。此方法更改数组的长度。

因此,您在执行getState().user.subscriptions.pop()

时实际上正在改变您的状态

如果你想要数组的最后一项(不删除),请执行以下操作:

const subscriptions = getState().user.subscriptions;
let currentPlan = subscriptions[subscriptions.length - 1];