Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vuex用于存储我的所有产品信息和API请求查询_Javascript_Rest_Vue.js_Vuejs2_Vuex - Fatal编程技术网

Javascript Vuex用于存储我的所有产品信息和API请求查询

Javascript Vuex用于存储我的所有产品信息和API请求查询,javascript,rest,vue.js,vuejs2,vuex,Javascript,Rest,Vue.js,Vuejs2,Vuex,这是一个关于Vue/Vuex效率/确认最佳实践的问题 我有一个API返回50个产品的分页数据集,其中我保存在Vuex存储中 对于我的“显示所有产品”视图,我正在迭代Vuex商店 对于我的个人产品路线,我不确定是直接从Vuex商店加载产品(这意味着不需要再次请求产品,因此速度更快),还是从我的API请求该产品 我想折衷的办法是,对API的初始请求需要响应更多的数据,而不是用户最初在“ShowAll products”视图中接触到的数据,因此这似乎有点浪费 对此有什么想法和意见吗?只是想和另一个人确

这是一个关于Vue/Vuex效率/确认最佳实践的问题

我有一个API返回50个产品的分页数据集,其中我保存在Vuex存储中

对于我的“显示所有产品”视图,我正在迭代Vuex商店

对于我的个人产品路线,我不确定是直接从Vuex商店加载产品(这意味着不需要再次请求产品,因此速度更快),还是从我的API请求该产品

我想折衷的办法是,对API的初始请求需要响应更多的数据,而不是用户最初在“ShowAll products”视图中接触到的数据,因此这似乎有点浪费

对此有什么想法和意见吗?只是想和另一个人确认我的想法

同样使用Vuex,是否可以继续向存储添加数据?例如,如果用户正在循环浏览更多的产品,我应该将附加的数据从API添加回存储区,还是只保留滚动的50条记录(例如)

非常感谢


Phil

我真的不认为将所有数据都放在vuex中是个好主意,我会更多地使用vuex来管理和维护购物车或其他一些状态

如果您的产品数据库索引良好,并且只获得一页产品,那么REST调用应该足够快。 您可能应该投入更多的时间来改进数据库和Db查询。 这将进一步提高您的Rest呼叫的响应能力

您还应该认为,如果不改进搜索,大多数用户不会超过产品的第3或第4页,因此良好的搜索更为重要

如果使用vuex,问题是如果存储大量数据(我已经这样做了),速度会变慢,如果使用变异和getter,速度会变慢

如果您确实希望将产品存储在客户机上,因为您可能有连接不良的用户,那么我建议您使用其他一些脱机存储功能,如IndexedDB(不要使用LocalStorage或WebSQL,因为它们是旧的和/或特定于供应商的)


我希望这能帮助您做出决定。

感谢@CodeHacker在这一点上的建议,在我在Vuex商店玩得太过火之前了解这一点很有帮助。