我是否应该根据需要下载所有数据以进行还原或请求?
问题描述:
我正在写我的第一个React Redux电子商务应用程序,我想知道什么是最佳实践,我应该下载所有数据还是使用服务器端分页。当用户进入路线“/产品”时,我检查是否有产品,如果没有,那么我会取回它们。我是否应该根据需要下载所有数据以进行还原或请求?
componentDidMount(){
if(this.props.products.length <= 0){
var token = this.props.auth.token;
this.props.actions.getProducts(token);
}
}
但我不确定是否应该下载所有产品(1,000)并将它们保存在商店或根据需要请求它们。例如:我下载了100个产品并获取所有页面,如果用户想要查看下一个100,我从服务器获取下一个100个产品。
我也将在其他形式的其他部分使用本产品。
您认为如何?
答
这些都是有效的方法。您的案件的“正确”将主要取决于正在检索的信息的类型。
例如,如果它是一小段信息的小列表,您可能希望通过一次检索所有内容来加快速度。
但是,如果您正在加载可能长的列表或信息“很重”(大量字段或大文本),则可能不希望客户端资源全部用完。没有人喜欢看到他们的网络和内存因为一个讨厌的页面而被吞噬。
我不知道你的数据,但有一千个产品似乎有点多。我的建议是:测量请求的大小,并决定是否值得一次加载所有内容。
答
使用服务器端分页和高次分量来处理从服务器获取数据。并检查中继和graphql他们让你重新考虑你的应用程序中的数据。下面良好执行力度 例如检查回购 1. https://github.com/reactjs/redux/tree/master/examples/real-world
4. https://github.com/emmenko/redux-react-router-async-example
应该是什么产品的最大号码加我一次? – user3527318
产品有多少个字节?将此数据乘以估计的将要检索的产品数量,添加一些json(?)开销,并且您将达到估计的请求大小。然后问问你自己的尺寸是否可以让用户接受。我无法为你回答这个问题。但放松一下,做出决定并继续前进,知道你可以在以后改变主意(对吗?)。 –
听起来很好,谢谢! – user3527318