请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问老师upload一直报错act

老师可以帮忙看看嘛~我的upload组件测试一直提示act我不太清楚应该如何解决这个问题,是异步代码成功后更改了state的值就应该使用act包裹嘛。

图片描述

老师我也给fileEvent包裹了,可是还是会报错。希望老师有空帮忙看看,谢谢老师!
https://github.com/19Qingfeng/hy-store

正在回答

插入代码

2回答

同学你好 这里其实你是没有写完后面的逻辑造成的 对于一个 react 的更新,后面只要跟着一个 wait 的断言就可以了,你后面的代码注释了,所以就会报错。

改成:

1
2
3
4
5
6
7
8
9
10
11
    // act 删除掉
    fireEvent.change(fileInput, {
      target: {
        files: [testFile],
      },
    });
    // 这个注释去掉
    await waitFor(() => {
 
      expect(wrapper.queryByText('test.png')).toBeInTheDocument();
    });

现在 test 就能够通过了

0 回复 有任何疑惑可以回复我~
  • 提问者 hy_wang #1
    老师我不太理解我使用act包裹之后如果没有写await断言就会报错,这个是什么原因呢
    回复 有任何疑惑可以回复我~ 2021-09-23 10:33:04
  • 张轩 回复 提问者 hy_wang #2
    和 act 没关系,fireEvent 的源代码中就是使用 act 就行包裹的,使用 react-testing-library 一般都不需要使用 act 进行包裹,出错原因在于代码中有 Promise,Promise 被调用后,后面需要 waitFor
    回复 有任何疑惑可以回复我~ 2021-09-24 10:13:27
  • 提问者 hy_wang #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-09-24 17:07:53
张轩 2021-09-22 09:46:17

同学你好 请问 upload 组件在哪里呢? components 当中并没有看到 upload 这个组件的名称

0 回复 有任何疑惑可以回复我~
  • 提问者 hy_wang #1
    老师我叫file啦
    回复 有任何疑惑可以回复我~ 2021-09-22 09:47:05
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信