我有一个静态方法来创建自定义事件并分派它:
class MyComponent extends {
static refreshComponent() {
const event = new Event('refreshComponent');
document.dispatchEvent(event);
}
render() {
MyComponent.refreshComponent();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试如下测试:
describe('refreshComponent', () => {
it('should dispatch an event', () => {
const document = { dispatchEvent: jest.fn() };
wrapper.refreshGoalsComponent();
expect(document.dispatchEvent).toHaveBeenCalledWith('refreshComponent');
});
});
Run Code Online (Sandbox Code Playgroud)
但这里没有调用dispatchEvent,因为没有“new Event()”的模拟。有办法嘲笑它吗?请帮忙
从 useMemo 返回或包装在 React.memo() 中的子组件是否也被记忆?(抱歉,这可能是一个愚蠢的问题)
例如:
React.memo(<Parent><Child/></Parent>);
Run Code Online (Sandbox Code Playgroud)
这里Parent被记忆了,Child是否也被记忆了?