首页 > 解决方案 > 我如何知道反应组件已完成处理生命周期回调并准备好在我的测试中进行交互?

问题描述

需要一种方法来等到所有反应回调都已为反应组件处理完毕

我正在为反应组件进行交互测试。当我设置或更新我的应用程序时,react 组件会经历一个渲染周期。所以在我派发交互事件之前,我需要等待所有的回调被成功处理并且组件被解决。有没有什么好的方法可以在测试中做这样的等待

标签: javascripthtmlreactjstesting

解决方案


我会使用异步 ComponentDidMount(Is using async componentDidMount() good?),一旦所有回调成功完成,无论他们做什么,将状态变量(例如 setupInProcess,初始化为 true)设置为 false。

只要 setupInProcess 为 true,render() 将显示“正在处理的设置”或“正在加载”(也可能是微调器),当它设置为 false 时,将呈现它应该呈现的任何内容。


推荐阅读