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) 我最近了解了ES6代理,但我没有看到使用它的充分理由.我的意思是,除非我遗漏了什么,否则可以在没有它的情况下完成所有可以使用Proxy的事情.
例如,大多数人谈论代理时的验证,但可以应用一些JS优点来验证,每个人都很好.如果有人可以睁开眼睛看看代理的一些主要用例,我将不胜感激.谢谢!
在观看 Google IO17 时,我了解了双重 requestAnimationFrame 方法,但我无法真正理解它,也许是因为我几乎不参与网络动画。
但是,我认为很高兴知道它是如何工作的以及何时将事情加倍,就像 Addy Osmani 提出的 Twitter 选项卡示例一样。谢谢!