Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
如何在reactjs中同时呈现不同的api组件?_Reactjs_React Hooks - Fatal编程技术网

如何在reactjs中同时呈现不同的api组件?

如何在reactjs中同时呈现不同的api组件?,reactjs,react-hooks,Reactjs,React Hooks,我有一个容器,其中我渲染了4个组件,每个组件都符合api。这4个组件的Api响应时间不同。正因为如此,一个组件的加载速度很快,另一个组件的加载时间很长。这使得ui看起来不太好 在react中是否有其他方法可以同时加载不同的组件 您可以使用如下悬念: import React, { Suspense } from "react"; import ReactDOM from "react-dom"; import "./styles.css"; import { fetchProfileData

我有一个容器,其中我渲染了4个组件,每个组件都符合api。这4个组件的Api响应时间不同。正因为如此,一个组件的加载速度很快,另一个组件的加载时间很长。这使得ui看起来不太好

在react中是否有其他方法可以同时加载不同的组件


您可以使用如下悬念:

import React, { Suspense } from "react";
import ReactDOM from "react-dom";

import "./styles.css";
import { fetchProfileData } from "./fakeApi";

const resource = fetchProfileData();

function ProfilePage() {
  return (
    <Suspense
      fallback={<h1>Loading profile...</h1>}
    >
      <ProfileDetails />
      <Suspense
        fallback={<h1>Loading posts...</h1>}
      >
        <ProfileTimeline />
      </Suspense>
    </Suspense>
  );
}

function ProfileDetails() {
  // Try to read user info, although it might not have loaded yet
  const user = resource.user.read();
  return <h1>{user.name}</h1>;
}

function ProfileTimeline() {
  // Try to read posts, although they might not have loaded yet
  const posts = resource.posts.read();
  return (
    <ul>
      {posts.map(post => (
        <li key={post.id}>{post.text}</li>
      ))}
    </ul>
  );
}

const rootElement = document.getElementById(
  "root"
);
ReactDOM.createRoot(rootElement).render(
  <ProfilePage />
);
import React,{suspend}来自“React”;
从“react dom”导入react dom;
导入“/styles.css”;
从“/fakeApi”导入{fetchProfileData};
const resource=fetchProfileData();
函数配置文件页(){
返回(
);
}
函数配置文件详细信息(){
//尝试读取用户信息,尽管它可能尚未加载
const user=resource.user.read();
返回{user.name};
}
函数ProfileTimeline(){
//尝试阅读帖子,尽管它们可能尚未加载
const posts=resource.posts.read();
返回(
    {posts.map(post=>(
  • {post.text}
  • ))}
); } const rootElement=document.getElementById( “根” ); ReactDOM.createRoot(rootElement.render)( );

您可以使用如下悬念:

import React, { Suspense } from "react";
import ReactDOM from "react-dom";

import "./styles.css";
import { fetchProfileData } from "./fakeApi";

const resource = fetchProfileData();

function ProfilePage() {
  return (
    <Suspense
      fallback={<h1>Loading profile...</h1>}
    >
      <ProfileDetails />
      <Suspense
        fallback={<h1>Loading posts...</h1>}
      >
        <ProfileTimeline />
      </Suspense>
    </Suspense>
  );
}

function ProfileDetails() {
  // Try to read user info, although it might not have loaded yet
  const user = resource.user.read();
  return <h1>{user.name}</h1>;
}

function ProfileTimeline() {
  // Try to read posts, although they might not have loaded yet
  const posts = resource.posts.read();
  return (
    <ul>
      {posts.map(post => (
        <li key={post.id}>{post.text}</li>
      ))}
    </ul>
  );
}

const rootElement = document.getElementById(
  "root"
);
ReactDOM.createRoot(rootElement).render(
  <ProfilePage />
);
import React,{suspend}来自“React”;
从“react dom”导入react dom;
导入“/styles.css”;
从“/fakeApi”导入{fetchProfileData};
const resource=fetchProfileData();
函数配置文件页(){
返回(
);
}
函数配置文件详细信息(){
//尝试读取用户信息,尽管它可能尚未加载
const user=resource.user.read();
返回{user.name};
}
函数ProfileTimeline(){
//尝试阅读帖子,尽管它们可能尚未加载
const posts=resource.posts.read();
返回(
    {posts.map(post=>(
  • {post.text}
  • ))}
); } const rootElement=document.getElementById( “根” ); ReactDOM.createRoot(rootElement.render)( );

在所有调用完成后在父级中进行调用设置您的状态并将相关数据作为道具传递给其他组件?在所有调用完成后在父级中进行调用设置您的状态并将相关数据作为道具传递给其他组件?