Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2017, 11:23
Новичок на форуме
Отправить личное сообщение для hambat Посмотреть профиль Найти все сообщения от hambat
 
Регистрация: 07.03.2017
Сообщений: 3

Как правильно получить и присвоить данные полученные из сервера 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;
}
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2017, 12:18
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

hambat,
ну вообще обычно генерирует действие, например FETCH_TRACKS, когда запрос завершился генерируют ещё одно действие, например FETCH_TRACK_SUCCESS, и reducer изменяет твоё состояние. Для асинхронных действий redux-thunk посмотри. И не пиши if () {} else if () {}. Используй switch.
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2017, 14:14
Новичок на форуме
Отправить личное сообщение для hambat Посмотреть профиль Найти все сообщения от hambat
 
Регистрация: 07.03.2017
Сообщений: 3

Спасибо 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 ?
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2017, 15:30
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

hambat,
да не должно быть такого. Только reducer может менять твоё состояние. Это ж осоновы Redux, не изобретай костылей.
Ответить с цитированием
  #5 (permalink)  
Старый 07.03.2017, 16:29
Новичок на форуме
Отправить личное сообщение для hambat Посмотреть профиль Найти все сообщения от hambat
 
Регистрация: 07.03.2017
Сообщений: 3

это и есть reducer
Ответить с цитированием
  #6 (permalink)  
Старый 07.03.2017, 17:09
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

hambat,
Тогда я не понимаю что не так в посте 2.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно прописать полученные значения с сервера? Dimaz jQuery 0 07.12.2012 19:46
Как правильно забрать картинку с сервера? Serh AJAX и COMET 4 30.07.2012 14:05
Как получить переменную с сервера? DmitryT AJAX и COMET 2 03.08.2011 18:16
Как правильно получить введенные данные в поле? buket jQuery 11 11.04.2010 19:59
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20