我有一个基于Ajax的应用程序,我试图移植到React。有一个滑块,应用程序根据滑块的值从服务器获取图像。如果用户非常快地移动滑块,则会产生大量请求,速度超过可以提供的速度。在这种情况下我做的是:
实际代码也会在本地缓存图像,但这对于这个问题并不重要。
我几乎把它翻译成了React。我有一个外部组件,它根据其道具发送Ajax请求,以及一个显示结果的内部组件。如果请求处于待处理状态,我可以停止发出新请求。缺少的是上面的斜体部分。用户停止拖动,最后一个请求进入,我与当前选择的值进行比较,如果不匹配,则发送另一个请求。似乎反对React在异步处理程序中随机查询某个组件(滑块)状态的想法 - 值应该传递下去。
如何解决这个问题? (刷新过时的组件的特定问题,或处理生成HTTP请求的大量用户输入的一般问题。)