我收到错误:```TypeError: Object(...) is not a function``` 在我的 React 应用程序中 - 第一次尝试使用钩子

时间:2021-04-03 15:58:32

标签: javascript reactjs react-hooks

我的代码中的 class Enemy : public Entity { int hp; public: void die() { hp = 0; } bool onProjectileCollision() override { die(); //I can do this return 1; }; } class Projectile : public Entity { public: bool onEnemyCollision() override { enemy.die(); // but I can't do this return 0; }; } 有问题。我尝试添加分号,但这没有帮助。这是我的相关代码:

TypeError: Object(...) is not a function

这是我的详细错误:

import { connect, useEffect } from "react";
import { fetchMenuItems } from "../../actions/index";
import MenuItem from "../shared/MenuItem";


const MenuItemsSelection = (props) => {
  useEffect(fetchMenuItems, []);

  const menuItems = props.menuItems.map((menuItem) => {
    return (
      <MenuItem menuItem={menuItem} />
    );
  });

  return (
    <p>{menuItems}</p>
  );
};

const mapStateToProps = (state) => {
  return {
    menuItems: state.menuItems
  };
};

export default connect(mapStateToProps)(MenuItemsSelection);

我真的很困惑,我刚刚接触了 react hooks 和 redux,所以我真的不知道我在做什么。我也在使用 thunk,虽然我还没有那么远。如果需要更多信息,请在评论中告诉我。

1 个答案:

答案 0 :(得分:0)

您需要从 react-redux 导入 connect。

import {connect} from 'react-redux';

你也不能在 useEffect 中直接使用 fetchMenuItems。

您需要将其用作 props.fetchMenuItems 或对其进行解构。

export default connect(mapStateToProps,{fetchMenuItems})(MenuItemsSelection);