【问题标题】:How to best design React components and state for a project list page that includes favorites?如何为包含收藏夹的项目列表页面最好地设计 React 组件和状态?
【发布时间】:2021-03-27 18:03:31
【问题描述】:

我目前正在网站上实现收藏夹功能,并计划如何在 React 中最好地设计此功能。我对 React 很陌生。

在网站上有一个左侧导航栏。此侧边栏包含链接,还有一个专门用于“收藏”项目的部分。

导航栏的右侧是主要部分。本节中的视图之一是用户创建的项目列表。会有一个灰色的星(想想 gmail),用户可以点击它,然后使该项目成为收藏夹。单击星号时,它变为黄色,数据库更新,您将看到它出现在左侧导航栏中。

关于这个 React 设计的几个问题:

  1. 如何识别之前被选为收藏的项目?

    • 我是否应该让项目列表数据库查询识别收藏夹(id=2,收藏夹=true)?
    • 我将有 2 组 React 道具/状态,一组用于收藏夹,一组用于项目列表,我是否应该在循环浏览主项目列表时使用收藏夹来查找匹配项?
  2. 如何设计组件结构?

    • 我想问题 1 中的决定可能有助于决定这一点?
    • 收藏夹列表和项目列表的状态是否应保存在父组件中 收藏夹组件中的 1 个状态和项目列表页面组件中的 1 个状态(但是,如果是后者,我认为我无法比较两个?)

希望我以一种清晰的方式提出这个问题,正如您所看到的,我正在寻找如何设计组件以及在哪里/如何存储收藏夹和项目列表的项目信息的最佳实践主页。

谢谢。

【问题讨论】:

    标签: reactjs redux frontend state react-props


    【解决方案1】:

    我觉得还是用 Redux 来实现喜欢的功能比较好。

    请参考以下网址。

    http://react-material.fusetheme.com/apps/contacts/starred

    您可以像下面这样调度操作。

    这是动作。

    这是 api。

    已在此处添加或删除已加星标的联系人。

    希望对您设计组件有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 2020-12-14
      相关资源
      最近更新 更多