reactjs - 反应延迟加载不显示加载并一次显示所有组件
问题描述
我正在尝试实现一个类似于 YouTube 所做的占位符动画。我正在使用 React Lazy 和 Suspense 道具来实现它。但是延迟加载不显示加载和直接加载组件。我试图通过网络选项卡限制我的互联网连接,但没有成功。我附上我的代码。谢谢!
const Posts = lazy(() => import("./posts/posts"));
const Updates = lazy(() => import("../dashboard/updates/updates"));
const Navigation = lazy(() => import("../dashboard/navigation/navigation"));
function demoAsyncCall() {
return new Promise((resolve) => setTimeout(() => resolve(), 1000));
}
class PinnedPosts extends Component {
constructor(props) {
super(props);
this.state = {
pinned_posts: true,
};
}
render() {
return (
<div className="pinned-posts">
<div className="navigation">
<Suspense fallback={<div>Loading..</div>}>
<Navigation posts={this.state.pinned_posts}></Navigation>
</Suspense>
</div>
<Suspense fallback={<div>Loading!</div>}>
<div className="news">
<h1 class="Pinned-post">Pinned Posts</h1>
<Posts />
</div>
<div className="promotions">
<h1 class="organization-update">Organization Updates</h1>
<Updates></Updates>
</div>
</Suspense>
</div>
);
}
}
export default PinnedPosts;
解决方案
推荐阅读
- c++ - 是否可以分别专门研究 typedef 及其基础类型?
- xamarin.forms - 无法解决 Xamarin Forms 组件中的平台效应
- javascript - 如何从自定义组件获取状态值到另一个父组件
- c# - 在 WPF 窗口关闭时终止线程
- excel - Excel VBA编码:需要创建一个循环识别数据填充在一列中并在另一列中返回指定值
- amazon-web-services - 使用 nginx 将 Elastic Beanstalk HTTP 请求重定向到 HTTPS
- reactjs - React Router v4 ConnectedRouter 未在嵌套路由上呈现
- r - 基于跨行字符序列的子集数据
- java - 对大量对象进行优化
- c++ - 如何使用私有构造函数对类进行单元测试?