我正在使用React Native和Redux来创建应用程序。我也使用了两个npm模块,react-native-simple-store和redux promise。我将解释每个问题的用法,因为我会继续解释我的问题。Redux返回默认值
我有一个基本动作创建器,在componentWillMount方法中触发。这个动作创建者的目的是从用户的设备中检索一组数据。我使用react-native-simple-store来执行此操作,因为它始终会将您请求的数据作为承诺返回。这里是我的行动的创建者:
import store from 'react-native-simple-store'
export const GET_ALARMS = 'get_alarms'
export const getAlarms =() => {
// this variable will hold the promise
let alarms = store.get('alarms')
return {
type: GET_ALARMS,
payload: alarms
}
}
在我减速,我希望接收阵列,我要求我的行动的创建者。但是,它不起作用,并且每次都返回一个空数组。这里是我的减速器:
import GET_ALARMS from '../actions/getAlarms'
export default (state = [], action) => {
console.log(action)
switch (action.type) {
case 'GET_ALARMS':
return [...state, action.payload]
}
return state
}
有趣的是,当我CONSOLE.LOG行动进入减速机,我看到这个控制台:
Object { type: "get_alarms", payload: Array(3) }
payload: Array(3)
0: Object
1: Object
2: Object
type: "get_alarms"
这就是我想要的数据,只是一个包含3个对象的数组。它在那里,但我错过了一些分钟。
对此有帮助吗?
哦,伙计,谢谢你。不能相信我错过了这一点。 –
高兴地帮助丹尼尔:) –