我正在使用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個對象的數組。它在那裏,但我錯過了一些分鐘。
對此有幫助嗎?
哦,夥計,謝謝你。不能相信我錯過了這一點。 –
高興地幫助丹尼爾:) –