反応し、私はこのように私の店を作成します。は私のリアクト/ Reduxの/ axiosアプリでReduxのAxios
import eventsData from '../api/event';
console.log(eventsData);
const events = [];
Object.assign(events, eventsData);
const defaultState = {
events
}
export const store = createStore(rootReducer, defaultState);
これは正常に動作していると私のイベントは
{events.map((event, i) => <CalenderItem key={i} i={i} event={event} {...this.props}/>)}
その上にマッピングすることによって、私のコンポーネントでlistetされています
しかし、データをJSONからAxios経由でインポートすると、ストアはデータを取得しますが、イベントはリストされません。インポートおよびストアの作成は次のように、その後になります。それは、面白い
const events = [];
axios.get("http://#######/src/api/event")
.then(result => {
console.log(result.data.events);
return Object.assign(events, result.data.events);
});
const defaultState = {
events
}
export const store = createStore(rootReducer, defaultState);
両方のデータのconsole.log
が同じに見えますので。
'axios.get'はasyncです。 'axios'を呼び出してアクションをディスパッチし、結果を通常通り減らす必要があります。 –
詳細はこちらを参照してください。http://redux.js.org/docs/advanced/AsyncActions.html – diedu
ありがとうございました! –