首页 > 解决方案 > 无法从反应组件上的 mapStateToProps 获取值

问题描述

为什么我无法访问descriptionList有点奇怪mapStateToProps,因为我调用了该操作fetchDescription,但我不确定为什么descriptionList在组件中返回 undefined

这是 console.log 显示列表在那里:

在此处输入图像描述

这是我的组件:

从'../../actions/actions'导入{ fetchDescription};

const Description = (props) => {
const { descriptionList } = props;
 useEffect(() => { 
     props.fetchDescription();
     console.log("Prop", descriptionList) // return undefined
    },[]);

    return (
        <div>
            {descriptionList}
        </div>
    );
};

  const mapStateToProps = ({descriptionList}) => {

    console.log("mapStateToProps", descriptionList)
    return descriptionList
  };
  export default connect(mapStateToProps, { fetchDescription })(Description);

标签: javascriptreactjsreduxecmascript-6react-redux

解决方案


您的 mapStateToProps 函数应该返回一个包含组件所需数据的普通对象。

尝试下一个方法:

const mapStateToProps = ({descriptionList}) => {
    console.log("mapStateToProps", descriptionList)
    return { descriptionList };
  };

https://react-redux.js.org/using-react-redux/connect-mapstate


推荐阅读