小编Ade*_*uyi的帖子

为什么与fetch api一起使用时,反应钩会抛出act错误?

Warning: An update to App inside a test was not wrapped in act(...).每当我提出API请求并更新状态时,我都会进入测试套件。

我正在使用反应测试库。我也尝试使用ReactDOM测试工具,得到了相同的结果。我尝试的另一件事是将容器包装在中act,仍然得到相同的结果。

请注意:我的应用程序正常运行,并且我的测试通过了。我只需要知道我在做错什么,或者是否是react-dom程序包中的错误使该错误出现。模拟控制台错误并将其静音是很不好的。

global.fetch = require('jest-fetch-mock');

it('should clear select content item', async () => {
    fetch.mockResponseOnce(JSON.stringify({ results: data }));

    const { container } = render(<App />);

    const content = container.querySelector('.content');

    await wait();

    expect(content.querySelectorAll('.content--item').length).toBe(2);
});
Run Code Online (Sandbox Code Playgroud)

这是钩子实现:

const [data, setData] = useState([]);
const [error, setError] = useState('');

const fetchInitData = async () => {
    try {
        const res = await fetch(API_URL);
        const data = await res.json();

        if …
Run Code Online (Sandbox Code Playgroud)

reactjs react-testing-library react-hooks

7
推荐指数
2
解决办法
4700
查看次数

ES6代理的主要用例

我最近了解了ES6代理,但我没有看到使用它的充分理由.我的意思是,除非我遗漏了什么,否则可以在没有它的情况下完成所有可以使用Proxy的事情.

例如,大多数人谈论代理时的验证,但可以应用一些JS优点来验证,每个人都很好.如果有人可以睁开眼睛看看代理的一些主要用例,我将不胜感激.谢谢!

javascript proxy ecmascript-6 es6-proxy

4
推荐指数
1
解决办法
1114
查看次数

双请求动画框架如何工作?

在观看 Google IO17 时,我了解了双重 requestAnimationFrame 方法,但我无法真正理解它,也许是因为我几乎不参与网络动画。

但是,我认为很高兴知道它是如何工作的以及何时将事情加倍,就像 Addy Osmani 提出的 Twitter 选项卡示例一样。谢谢!

animation requestanimationframe

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