我正在使用Typescript和新的React钩子为一个简单的React应用编写一些有趣的酶测试。
但是,我似乎无法正确模拟在useEffect
挂钩内进行的api调用。
useEffect
进行api调用,并useState
使用“ setData” 更新状态“ data”。
然后将对象“数据”映射到表中与其对应的表单元格中。
似乎应该可以通过模拟的api响应和酶安装来轻松解决,但是我不断收到错误消息,告诉我act()
用于组件更新。
我尝试了act()
许多方法,但无济于事。我试过用axios
fetch 代替,并使用酶浅和react-test-library的渲染,但是似乎没有任何效果。
组件:
import axios from 'axios'
import React, { useEffect, useState } from 'react';
interface ISUB {
id: number;
mediaType: {
digital: boolean;
print: boolean;
};
monthlyPayment: {
digital: boolean;
print: boolean;
};
singleIssue: {
digital: boolean;
print: boolean;
};
subscription: {
digital: boolean;
print: boolean;
};
title: string;
}
interface IDATA extends Array<ISUB> {}
const initData: IDATA = []; …
Run Code Online (Sandbox Code Playgroud)