Я хочу передать данные извлечения в мой редуктор - PullRequest
0 голосов
/ 17 октября 2018

Игра с извлечением данных в асинхронном действии в редукте с использованием редуктора.Просто нужна помощь для извлечения данных в редуктор.Вот что у меня есть.

actions.js

function receiveData(loadData) {
  return {
    type: 'RECEIVE_POSTS',
    loadData
  };
}

function schemaData(loadData) {
  return dispatch => {
    return fetch(`www.fetchurlhere`)
      .then(response => response.json())
      .then(json => dispatch(schemaData(loadData, response.data)));
  };
}

reducer.js

export default function schemaData(prevState = {}, action) {
  if (action.type === 'RECEIVE_POSTS') {
    return action.receiveData;
  } else {
    return prevState;
  }
}

Я вижу редуктор «schemaData» в магазине, но он пуст.Никогда раньше не запрашивал выборку в действии.Я посмотрел пример редукса и попытался изменить его.Но он пуст, так что чего-то не хватает.

1 Ответ

0 голосов
/ 17 октября 2018

Попробуйте следующее:


actions.js

function receiveData(loadData) {
  return {
    type: 'RECEIVE_POSTS',
    receiveData: loadData
  };
}

function schemaData() {
  return dispatch => {
    return fetch(`www.fetchurlhere`)
      .then(response => response.json())
      .then(json => dispatch(receiveData(json)));
  };
}

reducer.js

export default function schemaData(prevState = {}, action) {
  if (action.type === 'RECEIVE_POSTS') {
    return action.receiveData;
  } else {
    return prevState;
  }
}

Это небольшая демонстрация: https://codesandbox.io/s/3vmn3lvp76

...