【发布时间】:2021-03-01 13:20:26
【问题描述】:
我正在尝试将组件从react-redux 传递给connect 方法。我收到此错误:
“函数”类型的参数不能分配给“组件类型”类型的参数。 类型“Function”不可分配给类型“FunctionComponent”。 类型 'Function' 不匹配签名 '(props: never, context?: any): ReactElement
|空'。
这是容器
const mapStateToProps = (state: globalStateType, ownProps: OffersProps) => ({
...state,
...ownProps,
});
const mapDispatchToProps = (dispatch: Function) => ({
handleSetSelectedOfferId: (
selectedOfferId: selectedOfferIdType,
): HandleSetSelectedOfferIdInterface => dispatch(setSelectedOfferId(selectedOfferId)),
});
export const OffersContainer = connect(mapStateToProps, mapDispatchToProps)(OffersComponent);
这是组件:
export const OffersComponent: Function = ({ dataset }: OffersProps): JSX.Element[] => dataset.map(({
id, firstName, city, price, image, description,
}): React.ReactElement => (
<FlexWrapper key={id.$oid}>
<OfferContainer
id={id}
firstName={firstName}
city={city}
price={price}
image={image}
description={description}
/>
</FlexWrapper>
));
知道我错过了什么吗?
编辑:
从中删除Function
export const OffersComponent: Function = ({ dataset }: OffersProps): JSX.Element[] => dataset.map(({
所以现在看起来像这样:
export const OffersComponent = ({ dataset }: OffersPropsInterface): JSX.Element[] => dataset.map(({
导致此错误:
'({ dataset }: OffersPropsInterface) => JSX.Element[]' 类型的参数不可分配给'ComponentType' 类型的参数。 类型 '({ dataset }: OffersPropsInterface) => JSX.Element[]' 不可分配给类型 'FunctionComponent'。 类型 'Element[]' 缺少来自类型 'ReactElement
' 的以下属性:类型、道具、键 TS2345
【问题讨论】:
标签: javascript reactjs typescript types react-redux