[英]Uncaught (in promise) Error: When called with an action of type
不知道我错过了什么......请求没问题,当我 console.log 进入动作创建者时我可以看到数据,但由于某种原因,reducer 无法正常工作。
这是代码:
行动:
import jsonPlaceholder from "../apis/jsonPlaceholder";
export const fetchPosts = () => {
return async (dispatch) => {
const response = await jsonPlaceholder.get("/posts");
dispatch({ type: "FETCH_POSTS", payload: response.data });
};
};
////
jsonPlaceHolder.js
import axios from "axios";
export default axios.create({
baseURL: "https://jsonplaceholder.typicode.com/",
});
////
减速器:fetchData.js
const fetchData = (state = [], action) => {
switch (action.type) {
case "FETCH_POSTS":
return action.payloads;
default:
return state;
}
};
export default fetchData;
index.js
import { combineReducers } from "redux";
import fetchData from "./fetchData";
export default combineReducers({
post: fetchData,
});
///
const mapStateToProps = (state) => {
console.log(state);
return { posts: state };
};
export default connect(mapStateToProps, { fetchPosts })(PostList);
错误:
未捕获(承诺中)错误:当使用“FETCH_POSTS”类型的操作调用时,键“post”的切片缩减器返回未定义。 要忽略某个操作,您必须显式返回之前的状态。 如果你希望这个 reducer 不保存任何值,你可以返回 null 而不是 undefined。
const fetchData = (state = [], action) => {
switch (action.type) {
case "FETCH_POSTS":
return action.payload; //fixed
default:
return state;
}
};
export default fetchData;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.