我有一堆React Bootstrap Modals,它们在我的功能组件中利用了局部状态变量。这是一些示例代码:
const [isLoaded, setIsLoaded] = useState(false);
useEffect(() => {
if (isLoaded) {
requests.get(`${requests.API_ROOT()}account_management/companies`)
.then(response => {
setCompanies(response.data.companies);
})
.catch(error => {
if (error.response) {
throw('Error fetching companies: ', error.response.status);
}
});
}
},[isLoaded]);
在浏览器中正常运行时,一切正常。当React Bootstrap的setIsLoaded(true)
组件触发其<Modal>
事件时,将调用onEntered
。
不幸的是,jsdom
不支持Modal.onEntered
,因此isLoaded
从未设置为true
,因此从未执行过如上所述的useEffect
。
因此,我想知道是否有一种方法可以在测试中手动调用setIsLoaded
来完成相同的工作?