Javascript 类型';元素';类型';中缺少以下属性;OfferOps';:id,名字,城市,价格,还有2个以上。TS2740
我试图使用渲染元素数组,但我的组件中出现了此错误 类型“Element”缺少类型“OfferProps”中的以下属性:id、firstName、city、price和2个以上。TS2740 我的代码:Javascript 类型';元素';类型';中缺少以下属性;OfferOps';:id,名字,城市,价格,还有2个以上。TS2740,javascript,reactjs,typescript,types,react-props,Javascript,Reactjs,Typescript,Types,React Props,我试图使用渲染元素数组,但我的组件中出现了此错误 类型“Element”缺少类型“OfferProps”中的以下属性:id、firstName、city、price和2个以上。TS2740 我的代码: OffersComponent import React from 'react'; import { OffersProps } from './types'; import { OfferComponent } from '../OfferComponent/OfferComponent';
OffersComponent
import React from 'react';
import { OffersProps } from './types';
import { OfferComponent } from '../OfferComponent/OfferComponent';
import { OfferProps } from '../OfferComponent/types';
export const OffersComponent = ({ dataset }: OffersProps) /* I tried adding :Element[] here, but no luck*/ => dataset.map(
({
id, firstName, city, price, image, description,
}): OfferProps => (
// Here's the error
<OfferComponent id={id} firstName={firstName} city={city} price={price} image={image} description={description} />
),
);
import React from 'react';
import { OfferProps } from './types';
export const OfferComponent = ({ id, firstName, city, price, image, description }: OfferProps) => (
<div>
<div>{`${id}`}</div>
<div>{firstName}</div>
<div>{city}</div>
<div>{`${price} pln`}</div>
<img src={image} alt={description} />
<div>{description}</div>
===============================
</div>
);
报价组件
import React from 'react';
import { OffersProps } from './types';
import { OfferComponent } from '../OfferComponent/OfferComponent';
import { OfferProps } from '../OfferComponent/types';
export const OffersComponent = ({ dataset }: OffersProps) /* I tried adding :Element[] here, but no luck*/ => dataset.map(
({
id, firstName, city, price, image, description,
}): OfferProps => (
// Here's the error
<OfferComponent id={id} firstName={firstName} city={city} price={price} image={image} description={description} />
),
);
import React from 'react';
import { OfferProps } from './types';
export const OfferComponent = ({ id, firstName, city, price, image, description }: OfferProps) => (
<div>
<div>{`${id}`}</div>
<div>{firstName}</div>
<div>{city}</div>
<div>{`${price} pln`}</div>
<img src={image} alt={description} />
<div>{description}</div>
===============================
</div>
);
据我所知,这是因为我返回了一个元素数组,但是为什么添加
:Element[]
不能解决问题呢?还是我完全错了?我认为您的组件返回类型有问题
尝试:
export const OffersComponent=({dataset}:OffersProps)=>dataset.map(
({
id,名字,城市,价格,图像,描述,
}) => (
//这是错误
),
);
是的,这很有效。唯一的问题是现在我得到了一个Type'Element[]”缺少Type'Element的以下属性:Type,props,key TS2605
知道这是怎么回事吗?你能发布新的OffersComponent
函数签名吗?我通过在OffersComponent
之后添加:function
来修复它。我在另一个答案中找到了它。不知道为什么,但它起作用了
export const OffersComponent = ({ dataset }: OffersProps) => dataset.map(
({
id, firstName, city, price, image, description,
}) => (
// Here's the error
<OfferComponent id={id} firstName={firstName} city={city} price={price} image={image} description={description} />
),
);