属性“文本”在“评论”类型上不存在,但它确实存在

问题描述 投票:0回答:2
{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" }]
    )
}
typescript
2个回答
0
投票

将类型名称更改为 RedditComment 解决了这个问题。我不知道为什么。


0
投票

嗨,你在关注 Sonny 的 YouTube reddit2.0 版本吗?可能会晚一点。我遇到了类似的问题,我将 props 的类型更改为 comment: Comment 而不是 comment:post.tsx 文件中的字符串,它解决了这个问题。希望对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.