首页 > 解决方案 > TypeScript 错误道具不可分配给 never

问题描述

嘿善良的互联网陌生人!

我是编码和 TypeScript 的新手,我在这里寻求帮助。

我正在尝试从道具中检索一组对象,我将映射到一个新对象,其中仅包含我需要的信息并返回它,但我收到错误:(

任何帮助是极大的赞赏。提前致谢!

我的代码:

import { connect } from "react-redux";

const Events = (props: any) => {
  const { organization } = props;
  let result = [
    organization.bookings.bookings.map((booking: any) => ({
      title: booking.title,
      start: booking.time.startTime,
      end: booking.time.endTime,
    })),
  ];
  return result;
};

const mapStateToProps = (state: any) => ({
  organization: {
    bookings: state.bookings,
  },
});

export default connect(mapStateToProps)(Events);

我在最后一行(导出语句)的“事件”处收到错误,并显示以下消息:

TypeScript 错误:'(props: any) => any[]' 类型的参数不可分配给'ComponentType' 类型的参数。类型 '(props: any) => any[]' 不可分配给类型 'FunctionComponent'。类型 'any[]' 缺少类型 'ReactElement<any, any>' 中的以下属性:类型、道具、键 TS2345

当我到达那里时,我可以设置这个组件useState(<Events />)吗?

标签: javascriptreactjstypescriptredux-thunk

解决方案


connect应该在 React 组件上使用。这Events是一个返回任何数组的函数,因此它不是 React 组件。


推荐阅读