【发布时间】:2020-07-16 01:41:14
【问题描述】:
为什么打字稿在这里抱怨变量未分配?我是否遗漏了一些明显的范围?
test('test', async () => {
let renderResult: RenderResult;
await act(async () => {
renderResult = render(<Component />);
});
await act(async () => {
renderResult.rerender(<Component />);
});
// ERRROR: Variable 'renderResult' is used before being assigned.ts(2454)
expect(renderResult.container.firstElementChild!.getAttribute('src')).toBe('original');
});
【问题讨论】:
-
Afaik typescript 不会分析您的行为功能。在不知道
act()的实现细节的情况下,无法保证您的回调在到达expect()之前完成。 -
好的,很公平。但是那我应该如何重构代码呢?目前我使用了@ts-ignore,这似乎有帮助,但是......
-
我也有同样的问题:)。现在,你可以说 renderResult!编译器抱怨的地方。
标签: typescript react-testing-library