Java 反应条件呈现顺序
我有一个react组件,它显示一个表。若数据长度为0或数据本身为空,那个么我将显示消息“并没有数据存在” 我面临的问题是,消息(不存在数据)短暂出现几毫秒,然后表格出现 请在下面找到我的实现Java 反应条件呈现顺序,java,reactjs,ecmascript-6,react-hooks,Java,Reactjs,Ecmascript 6,React Hooks,我有一个react组件,它显示一个表。若数据长度为0或数据本身为空,那个么我将显示消息“并没有数据存在” 我面临的问题是,消息(不存在数据)短暂出现几毫秒,然后表格出现 请在下面找到我的实现 {!isLoading && !isError && ( <div> {!isDataExists && ( <Message> No Data exists </Message
{!isLoading && !isError && (
<div>
{!isDataExists && (
<Message>
No Data exists
</Message>
)}
{isExists && (
<Table />
)}
</div>
)}
{!isLoading&&!isError&&(
{!isDataExists&&(
没有数据存在
)}
{isExists&&(
)}
)}
请注意,我使用的是react函数组件。因为您有一个
加载变量,所以我假设您从外部API获取数据。因此,您的模式应该如下所示:
如果无数据存在
消息短暂出现,这是因为在设置数据之前,加载
状态变为假
。注意您的设置状态
调用命令,以及在将加载
转到false
之前是否正在等待数据
您的加载
初始状态应为true
注意:您应该使用async wait
而不是上的.then()
。我只是在这里使用它,因为stackoverflow代码段已经过时,不允许我使用async await
函数getDataFromApi(){
返回新承诺((解决、拒绝)=>{
setTimeout(()=>解析(“表数据”),1000;
});
}
函数App(){
const[tableData,setTableData]=React.useState(null);
常量[loading,setLoading]=React.useState(true);
React.useffect(()=>{
getDataFromApi()。然后((数据)=>{
可设置数据(数据);
设置加载(假);
});
},[]);
返回(
加载?
数据正在加载。。。
:{tableData}
);
}
render(,document.getElementById(“根”))代码>
表的数据来自哪里?从API
?