【问题标题】:React Native: Marking posts a user has seen on his activity feedReact Native:标记用户在他的活动提要上看到的帖子
【发布时间】:2017-08-05 09:30:31
【问题描述】:

我正在实施类似于 facebook 或 twitter 的活动提要。我分批获取新闻源项目 x(我使用 RelayJS,x 是连接的页面大小)。但是,由于在列表视图中急切加载,可能会为新闻提要获取很多项目,但用户没有滚动到最后查看它们。如何确定用户真正看到了哪些新闻提要项目,这样我就不会重复它们,只显示较新的和下方的那些在用户下次刷新或打开应用程序时已提取但未显示给用户的项目?更简单的解决方案是丢弃所有已提取的 x 项。

这些信息是如何存储的?带有布尔值的 numUsers X numItems 表?一组这样的项目?

【问题讨论】:

    标签: reactjs react-native feed relayjs


    【解决方案1】:

    这在很大程度上取决于您的实施。最简单的方法是仅将上次登录后生成的信息返回给用户。

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

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

    1 没见过 2 没见过 3 看过 4 没见过 5 没见过 6 看过 7 看过 8 看过 9 看过

    关闭应用程序后,您存储需要从 ID 5 开始显示的内容。

    【讨论】:

    • 我还想要一种检测项目 3,6,7,8,9 的方法。安装它们并不意味着它们被看到了。我是否需要跟踪滚动高度才能知道哪些项目已进入视口?
    • 我猜你可以在 onLayout 事件中追踪它们。我假设“看到”意味着用户通过滚动项目。另一种方法是,是的,你刚才说的。您可以查询列表视图的位置并计算使用 ir 的位置来决定是否看到该项目。看来你的工作量很大。
    猜你喜欢
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多