0

我找不到这个问题的答案。不确定这是否很明显,我想太多了,或者我试图问错误的问题。

基本上,我正在尝试使用 React(第一个项目)构建一个应用程序,在其中我可以获得给定玩家的英雄联盟比赛历史记录(例如,全年的 300 场比赛 - 甚至可能是他们的所有比赛)。每场比赛显然都包含一些关于它的数据(持续时间等)

现在,我想遍历这些匹配项并准备一些数据以用于应用程序的不同部分。例如,我想计算玩家在不同英雄上玩了多少场比赛,他们的数据是多少,胜率等等。我不确定我应该在哪里进行这些数据处理。在我从 API 取回数据之后应该是正确的吗?或者也许只有当我需要渲染一个带有这些冠军摘要的组件时?- 第二个对我来说意义不大,因为假设我必须在应用程序的某些不同部分再次查看这 300 场比赛来处理其他一些信息。另一方面,我觉得提前收集所有这些数据并将其保存到状态中,以防万一,这是一种矫枉过正的做法。

请给我一些指示。

4

2 回答 2

0

在我看来,您需要某种全局状态管理器

我知道的选项是 React 的 useContext、Mobx 和 Redux。

如果您只需要一些变量或少量数据 - 您应该使用 React 的 Context Hook:https ://reactjs.org/docs/hooks-reference.html#usecontext

否则,最常见的是使用 Mobx 或 Redux。

https://mobx.js.org/README.html

https://redux.js.org/

(据我所知,Redux 比 Mobx 更难学习和使用,但更好。)

在任何情况下,您都会将获取的数据保存到所述管理器中的变量中,并随时随地访问它。

然后你可以处理它。在需要时对其进行处理并将其保存在所有数据旁边是有意义的。

于 2020-09-24T20:27:34.143 回答
0

这实际上取决于有效负载/数据的大小。

使用繁重的有效负载,您将不得不分块加载。这是什么意思?假设您有一个包含 100,000 行的表,并且您有一个分页选项卡,可以让您一次查看 1,000 行数据。那时,我会考虑在每 1,000 / 5,000/ X 行上“延迟加载”数据。同样,这取决于大小。

在你的情况下,它似乎不会太重。一旦您询问玩家的个人资料,您将加载每个玩家的数据似乎是公平的。感觉可能有很多信息,但在我看来,加载一次并从那里开始工作就足够了。除非 JSON 真的很重。

如果您需要在不同的组件中使用数据,您可能需要考虑使用Redux,它会让您的生活更轻松。

于 2020-09-24T20:41:51.690 回答