【发布时间】:2020-04-29 21:20:21
【问题描述】:
我正在开发一个允许用户喜欢内容的应用程序,如果用户喜欢该帖子,将通过将轮廓的心形图标更改为完全填充的心形图标来可视化该内容。
我有一个列表页面,它将数据库中的每个帖子都呈现为Content Card 组件。该组件包含上面提到的图标。为了决定组件是否应该用轮廓或填充的心来呈现,我需要一种方法来确定用户是否喜欢相应的帖子。
我目前在做什么
每个赞都是它自己的Like 模型实例,它有一个指向与之关联的帖子的外键。我在content/likes/?post_id=${postID} 有一个 API 端点,它为我提供了所有喜欢给定帖子的用户。
对于页面上的每个帖子,我都会调用此端点,然后循环响应以查看登录用户是否在喜欢该内容的用户列表中。如果是这样,我将一个状态设置为 true,然后为该帖子填满内心。
我的方法效果很好但是我对页面上的每个帖子都提出了单独的请求。假设我有 100 个帖子正在显示,我认为仅仅为了填充该图标而发出 100 个请求并不是最佳做法。
我一直在考虑如何改进这一点,但我不确定人们通常如何处理这个问题。任何帮助表示赞赏!
【问题讨论】:
标签: reactjs django-rest-framework