如何在reactjs中同时呈现不同的api组件?
我有一个容器,其中我渲染了4个组件,每个组件都符合api。这4个组件的Api响应时间不同。正因为如此,一个组件的加载速度很快,另一个组件的加载时间很长。这使得ui看起来不太好 在react中是否有其他方法可以同时加载不同的组件如何在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
您可以使用如下悬念:
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)(
);
在所有调用完成后在父级中进行调用设置您的状态并将相关数据作为道具传递给其他组件?在所有调用完成后在父级中进行调用设置您的状态并将相关数据作为道具传递给其他组件?