在redux中使用异步操作并使用化简器来获取数据。只是需要一些帮助将数据提取到减速器中。这是我到目前为止所拥有的。
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;
}
}
我可以在商店中看到reducer'schemaData',但是它是空的。之前从未请求过获取操作。我看过redux示例,并尝试为我的示例进行修改。但是它是空的,所以缺少某些东西。
答案 0 :(得分:2)
尝试一下:
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;
}
}