首页 > 解决方案 > 反应设计模式

问题描述

我有一个事件组件和一个列出事件的容器类。我正在努力在这两个选项之间做出决定

  1. 让容器类获取 event_id 列表,将 event_id 传递给每个事件组件,并让每个事件组件获取自己的数据。

  2. 让容器类获取事件对象列表,并将事件对象作为道具传递给事件组件。

用户可以编辑事件,因此事件组件需要能够处理更新。

使用选项 1,我只需要对其余 api 进行一次提取,但是容器类必须在编辑时管理每个事件的状态。

使用选项 2,我将不得不为每个事件发出 fetch 请求,但随后每个事件对象都可以管理自己的状态。

我应该实施哪个选项(或任何建议的第三个选项)?

标签: reactjs

解决方案


我是首选……最好总是减少您的要求。在反应中,最好让您的设计,例如..更少的容器..更多的组件

我的意思是,如果您可以在一个容器中管理所有组件,这将是一个更好的解决方案

另一种情况..也许您必须转移状态或在事件组件之间进行交互..如果您让每个组件自己获取数据,这将更加困难

所以我选择第一个

更新:

它会与相同的事件处理程序一起显示吗?如果是..比其他选择会更好

我的意思是:有时你有一个带有事件处理程序的组件..但是这个事件在每个父组件中的处理方式都会不同(比如当你有一些样式的自定义按钮组件时..但是一键式事件的处理方式会有所不同,具体取决于父组件)..所以首选会更好

但如果它每次都以相同的方式处理相同的事件,那么第二选择会更好


推荐阅读