【发布时间】:2019-03-08 11:11:15
【问题描述】:
我在显示数据时遇到问题。
在我的应用程序中,我使用 react 和 redux。
在控制台我会收到一个错误mapStateToProps() in Connect(ListPets) must return a plain object. Instead received undefined.
这是我的主要组件
import React, { Component } from 'react';
import { connect } from 'react-redux';
import loadData from '../actions/actions';
class ListPets extends Component {
componentDidMount() {
const { loadData } = this.props;
loadData();
console.log(loadData );
}
render() {
const { dataPet } = this.props;
return (
<div>
</div>
);
}
}
const mapStateToProps = (state) => {
return state;
};
const mapDispatchToProps = (dispatch) => {
return {
loadData: () => dispatch(loadData())
}
};
这个片段console.log(loadData );显示
ƒ loadData() {
return dispatch(Object(_actions_actions__WEBPACK_IMPORTED_MODULE_7__["default"])());
}
当我在 div 中添加代码 {dataPet.data} 时。我得到一个错误]。好像这个数据不在商店里,我不知道......
这是我的减速器功能
const initialState = {
isFetching: false,
dataPet: [],
};
const fetchDataReducer = (state=initialState, action) => {
switch(action.types) {
case actionTypes.FETCH_DATA_START:
return {
...state,
isFetching: true,
}
case actionTypes.FETCH_DATA_SUCCESS:
return {
...state,
isFetching: false,
dataPet: action.dataPet,
}
case actionTypes.FETCH_DATA_FAIL:
return {
...state,
isFetching: false,
}
};
}
数据很好下载,因为控制台收到了FETCH_DATA_SUCCESS 操作。
我不知道如何解决这个问题
【问题讨论】:
-
@HemadriDasari 这是我的代码 codesandbox.io/embed/rj4yz06xqm?fontsize=14