小编Ben*_*son的帖子

如何测试调度自定义事件的方法

我有一个静态方法来创建自定义事件并分派它:

    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()”的模拟。有办法嘲笑它吗?请帮忙

javascript dom reactjs jestjs enzyme

2
推荐指数
1
解决办法
2万
查看次数

已记忆组件的子组件是否也已记忆?

从 useMemo 返回或包装在 React.memo() 中的子组件是否也被记忆?(抱歉,这可能是一个愚蠢的问题)

例如:

React.memo(<Parent><Child/></Parent>);
Run Code Online (Sandbox Code Playgroud)

这里Parent被记忆了,Child是否也被记忆了?

javascript memoization reactjs react-hooks react-usememo

2
推荐指数
1
解决办法
1270
查看次数