javascript - 如何在 ReactJS 中动态导入和渲染组件
问题描述
我想在 React Dynamically 中导入和渲染一个组件。有两个组件,第一个是 Dashboard,第二个是 Home,所以基本上,我想在 Home 中动态渲染 Dashboard 组件,而不需要预先导入它,或者可能在 Home 组件的渲染函数中导入。
仪表板.js
class Dashboard extends Component
{
render()
{
return( Dashboard Content Goes Here...! )
}
}
export default Dashboard;
主页.js
import React, {Component} from ‘react’;
class Home extends Component
{
render()
{
return( // import & render Dashboard component here )
}
}
export default Home;
解决方案
您可以使用 React.lazy 延迟导入组件。这意味着该组件只会在/如果该组件安装时被导入。这减少了您的父组件挂载的时间。如果您使用的是适当配置的 webpack,它将为您的延迟导入组件创建一个不同的包,并且只会在该组件挂载时加载该包。
import React, { Component } from ‘react’;
const Dashboard = React.lazy(() => import('...path here'));
class Home extends Component
{
render()
{
return <Dashboard />
}
}
export default Home;
推荐阅读
- python - 用熊猫分箱
- javascript - React:如何在 ReactJS 中以 asc 和 desc 对数据进行排序
- python - 如何通过python发送带有标头的GET请求
- java - 具有多个子报表的 Jasper 报表
- php - 在自定义请求 Laravel 中获取模型实例
- javascript - 滚动到元素时猫头鹰轮播自动播放不起作用
- python - 从 python 字典中获取所有子键的列表
- excel - 将数据从多个工作簿复制和组织到另一个工作簿
- html - HTML 输入字段右填充
- typescript - next.js/typescript/webpack 的问题:“未处理的拒绝(ReferenceError):未定义 XYZ”