Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 反应条件呈现顺序_Java_Reactjs_Ecmascript 6_React Hooks - Fatal编程技术网

Java 反应条件呈现顺序

Java 反应条件呈现顺序,java,reactjs,ecmascript-6,react-hooks,Java,Reactjs,Ecmascript 6,React Hooks,我有一个react组件,它显示一个表。若数据长度为0或数据本身为空,那个么我将显示消息“并没有数据存在” 我面临的问题是,消息(不存在数据)短暂出现几毫秒,然后表格出现 请在下面找到我的实现 {!isLoading && !isError && ( <div> {!isDataExists && ( <Message> No Data exists </Message

我有一个react组件,它显示一个表。若数据长度为0或数据本身为空,那个么我将显示消息“并没有数据存在”

我面临的问题是,消息(不存在数据)短暂出现几毫秒,然后表格出现

请在下面找到我的实现

{!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