2017-03-14 13 views
0

我正在实施类似于Facebook或Twitter的活动源。我以批量的x获取新闻源项目(我使用RelayJS,x是连接的页面大小)。但是,可能发生这种情况的原因是,由于在列表视图中进行了热切加载,因此新闻提要获取了很多项目,但用户不会滚动到结尾查看它们。我怎样才能确定用户真正见过的新闻馈送项目,以便我不重复它们,只显示较新的项目和下面显示的项目,但在下次刷新或打开应用程序时不会显示给用户?更简单的解决方案是放弃所有已被提取的x项目。React Native:标记用户在其活动源中看到的帖子

该信息如何存储? numUsers X numItems与布尔值的表?一组这样的物品?

回答

0

这取决于您的实施。最简单的方法是仅向用户返回上次登录后生成的信息。

现在,如果您想实际跟踪用户实际看到的信息,那么我想这会更加复杂。像存储每个项目ID和一个标志来检查用户是否看过它。

然后,您可以对应用关闭进行清理,这将标记您需要向他们展示他们没有看到的第一个项目。例如:

1没有看到 2没有看到 3可见 4没有看到 5没有看到 6所示 7所示 8所示 9所示

在关闭应用,则存储您需要显示他们开始ID 5

+0

我也想要一种方法来检测项目3,6,7,8,9被看到。装上它们并不意味着它们被看到。我是否需要跟踪滚动高度以了解哪些项目已经到达视口? – user3740387

+0

我想你可以在onLayout事件中跟踪它们。我认为“看到”意味着用户通过滚动项目。另一种方法是,你如何说。您可以查询列表视图的位置并计算使用ir决定项目是否被看到的位置。看起来你很多工作。 – sfratini

相关问题