我有一个应用程序,允许用户对30,000项数据进行排序和筛选。现在我将Redux操作的获取请求发送到我的rails API,查询由我的rails端的范围方法处理。我的导师建议我将所有查询都移到我的前端以提高效率,但我想知道管理一个包含30,000个对象的Redux状态对象是否真的会更高效,每个对象都有50个自己的属性。
(还有一些额外的注意事项:现在我只在本地运行应用程序而且我正在进行分页服务器端,所以它运行速度很快,但是当我在像Heroku这样的地方启动它时我有点紧张另外,我知道如果我将查询移到前端,我会有更多的选项来使用react-router在URL中保存查询状态,但是我已经用现有的方式解决了这个问题。设置。)
答案 0 :(得分:8)
让我们看看每种方法的优缺点:
查询后端的优势远远超过前端的优势。我不得不反对你的导师的意见。想象一下,如果您想在Google上搜索某些内容,Google会将您想要的所有相关结果发送到您的浏览器,并在浏览器中进行分页和排序,您的浏览器会感觉非常迟钝。通过适当的缓存并为数据添加数据库索引,网络请求不会是一个巨大的劣势。