我有一个<Parent />
组件,其中有一个文本字段和一个按钮,并且按钮的值由recompose的withState
和withHandlers
处理。单击按钮后,我将对服务器进行调用,该调用在几秒钟内返回一堆数据(通常为长度约10,000的数组)。然后,我将该数据存储在另一个withState
中。但是,现在出现的问题是,当我尝试在文本字段中键入内容时,它会严重滞后,因为每次按下键时,本地状态/道具都会更新数千个项目数组。
要解决此问题,我想创建一个<Results />
组件,但是我不知道执行此操作的正确方法。理想情况下,该按钮应该位于Parent组件中,因为它是用户输入的一部分,并且结果仅应真正包含与结果相关的内容。我无法将结果存储在Parent中并将其传递给Results,因为将其存储在Parent中是整个问题。从架构上来讲,将按钮放在Parent中的“正确”方式是什么,但仅将API调用的结果仅加载到Results组件中?