Vuex:状态管理。从状态或从服务器获取数据的更好的方法是哪种?

时间:2019-01-16 13:00:05

标签: vue.js vuejs2 vuex state-management

我正在拿走我所有的产品,并将它们放入状态。我没有做任何分页。用户从产品列表中查看产品时。我该怎么办? 我应该在productID的帮助下使用一些过滤器,并从状态中获取所选产品的其他详细信息,还是使用productID从服务器中获取数据?      我还想知道它是否会改变您的答案:如果我有50种产品,该怎么用?如果我有100种产品,我该怎么用。 哪个会更快更好?

1 个答案:

答案 0 :(得分:1)

这个问题似乎是基于观点的,可能会被关闭。没有确切的答案,但是有一些线索:

  1. 50和100是同一回事,问题更多地在50和5000之间。如果您的列表很大(数千个项目),则由于性能问题,您不应将其存储在状态中。
  2. 如果您所需的所有信息都已经处于您的状态,则从该状态进行获取比调用API更快。
  3. 请记住,从状态中获取将显示可能已过时的产品信息,而从API中获取则将为您提供最新的详细信息(例如,如果您显示产品库存)

如果列表不太大(最多几百个项目,具体取决于它们的大小),则基本上可以根据需要执行的操作。每个解决方案都有其优点和缺点,例如,在加载应用程序时将所有内容存储在状态中可能会使您具有“脱机”模式,但是在访问每个项目时获取每个项目将为您提供更多的最新信息。

如果您的列表很大,则“经典”方式(但不是唯一的一种)是将页面分页,并且该列表仅包含产品的主要详细信息,而不是整个商品。当您访问产品时,然后会从您的API中获取该产品。