Я работаю над приложением, написанным в React.js, где я получаю данные из канала JSON, а затем я буду использовать эти данные различными способами в приложении.Настройка объекта хранения из axios в React.js
я сделать вызов к корму через Аксиос:
module.exports = {
getMainPlaylist: function() {
var requestUrl = `${MAIN_PLAYLIST_FEED_URL}`;
return axios.get(requestUrl).then(function (res) {
return res.data.playlist
}, function (err) {
alert('error');
});
}
};
В моем app.jsx файле, я следующее:
store.subscribe(() => {
var state = store.getState();
console.log('New state: ', state);
});
var mainPlaylist = MainPlaylistAPI.getMainPlaylist();
store.dispatch(actions.addMainPlaylist(mainPlaylist));
В файле мои действия, я это:
export var addMainPlaylist = (mainPlaylist) => {
return {
type: 'ADD_MAIN_PLAYLIST',
mainPlaylist
}
};
В моих редукторами файл у меня есть это:
export var playlistReducer = (state = [], action) => {
switch (action.type) {
case 'ADD_MAIN_PLAYLIST':
return [
...state,
...action.mainPlaylist
];
default:
return state;
}
};
Когда я использую состояние как обычно, чтобы получить данные, они работали нормально, но я думаю, потому что я пытаюсь использовать магазин w с веб-службой он, вероятно, не работает из-за асинхронного процесса.
При входе в консоль я получаю это:
Я из .NET фона, поэтому я не буду достаточно новый работать только в JavaScript, и у меня нет Идея, где можно исправить это.
Любая помощь приветствуется!
Я хотел бы предложить вам использовать некоторые пакет для обработки сетевых запросов. Может быть сокращено или relay/graphql –