{post?.comments?.map((comment) => (
<div>{comment.text}</div>
))}
Post类型为Post,comments类型为[Comment]。这是来自另一个文件的类型定义。不幸的是,我的项目太大,无法全部发布,而且大多数与这个问题无关。我可以根据要求张贴任何其他需要的东西。我还想指出,代码在执行时不会失败,只是烦人的 IDE 从 Typescript 抱怨类型 Comment 上不存在“文本”。 Post 上的 subreddit 属性没有这个问题,很有趣。
type Comment {
created_at: DateTime
id: ID!
post_id: ID
text: String
username: String
}
type Post {
body: String
created_at: DateTime
id: ID!
image: String
subreddit_id: ID
title: String
username: String
votes: [Vote]
@materializer(
query: "getVotesByPostId"
arguments: [{ name: "post_id", field: "id" }]
)
comments: [Comment]
@materializer(
query: "getCommentsByPostId"
arguments: [{ name: "post_id", field: "id" }]
)
subreddit: [Subreddit]
@materializer(
query: "getSubredditListById"
arguments: [{ name: "id", field: "subreddit_id" }]
)
}
将类型名称更改为 RedditComment 解决了这个问题。我不知道为什么。
嗨,你在关注 Sonny 的 YouTube reddit2.0 版本吗?可能会晚一点。我遇到了类似的问题,我将 props 的类型更改为 comment: Comment 而不是 comment:post.tsx 文件中的字符串,它解决了这个问题。希望对您有所帮助。