Как правильно получить и присвоить данные полученные из сервера Axios, react-redux
Всем привет!
С помощью axios пытаюсь получить данные и записать в const initialState, помогите пожалуйста как правильно это сделать.. спасибо! можно ли как то вне блока then это сделать? если внутри then, то как правильно экспортировать tracks ? import axios from 'axios'; axios.get('http://ellenflare.com/loads/json') .then(function (res) { console.log(res.data) }); const initialState = [ { id: 1, name: 'Enter Sandman' }, { id: 2, name: 'The weekend' } ]; export default function tracks(state = initialState, action) { if (action.type === 'ADD_TRACK') { return [ ...state, action.payload ]; } else if (action.type === 'FETCH_TRACKS_SUCCESS') { return action.payload; } return state; } |
hambat,
ну вообще обычно генерирует действие, например FETCH_TRACKS, когда запрос завершился генерируют ещё одно действие, например FETCH_TRACK_SUCCESS, и reducer изменяет твоё состояние. Для асинхронных действий redux-thunk посмотри. И не пиши if () {} else if () {}. Используй switch. |
Спасибо destus.
axios.get('http://ellenflare.com/loads/json') .then(function (res) { console.log(res.data) }); const initialState = [ { id: 1, name: 'Enter Sandman' }, { id: 2, name: 'The weekend' } ]; Cуть вопроса в другом Как я могу записать полученные данные с res во внешнюю константу initialState ? |
hambat,
да не должно быть такого. Только reducer может менять твоё состояние. Это ж осоновы Redux, не изобретай костылей. |
это и есть reducer
|
hambat,
Тогда я не понимаю что не так в посте 2. |
Часовой пояс GMT +3, время: 22:17. |