Я хочу передать данные из моего редуктора

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

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 ответ


Попробуй это:


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


Есть идеи?

10000