我试图弄清楚为什么我的代码告诉我,具有“name”属性的Map数据的类型是never。我已经在接口中声明了commentsData,但显然那里发生了错误。
请看下面我的代码:
interface IProps {
commentsData: []
}
const CommentList: React.FC<IProps> = ({ commentsData }: IProps) => {
return (
<div>
{commentsData.map(comment => {
return (
<div>
{comment.name}
</div>
)
})}
</div>
)
}
export const getStaticProps = async ()=> {
const data = await fetch('https://jsonplaceholder.typicode.com/comments')
.then((res) => res.json())
.then((data) => data);
return {
props: {
commentsData: data
}
}
}
export default CommentList;
下面是Typescript抛出错误的图像:
这里有人看到过这个错误吗?你是怎么解决的。谢谢你的帮助!
2条答案
按热度按时间k2arahey1#
您需要指定数组的内容,例如:
通过这种方式,TypeScript知道数组中预期的对象类型。
34gzjxbg2#
你必须用一个索引器定义一个接口,因为它看起来像一个对象数组。
我分享的链接可以帮助你。How can i define an interface for array of an object