react-native - 如何在 react-native 上按需加载组件?
问题描述
我的应用由 500 多个屏幕和 1000 多个全局组件组成。我需要按需加载组件,而不是第一次加载所有组件。例如,在“ReactJS”中是代码分离,react.lazy()概念就是针对这个问题的。在 react-native 中是如何实现的。如何在 react-native 中溢出组件和代码以减少应用程序的首次加载时间。
谢谢!
解决方案
使用动态组件名称
import React, { Component } from 'react';
import FooComponent from './foo-component';
import BarComponent from './bar-component';
class MyComponent extends Component {
components = {
foo: FooComponent,
bar: BarComponent
};
render() {
const componentName='foo'
const TagName = this.components[componentName];
return <TagName />
}
}
推荐阅读
- java - 在 Cucumber-BDD Java 中,如何一次找出所有 CLASHING 步骤定义?(不在功能文件中使用它们)
- powershell - 如何使用 powershell 脚本将 makefile 变量(CC、CFLAGS 等)设置为终端或 cmd?
- ios - 使用 Apple 自定义按钮登录
- java - 在我的 if 语句中引入方法的正确方法是什么?
- javascript - FlatList 项中的 TextInput
- react-native - How to rerender component after object update?
- selenium - 当我们有多个场景时,Jenkins Allure 报告没有显示所有结果
- xaml - 在 UWP 中,如何跳过 UserControl 及其所有子元素的选项卡键导航?
- python - 在 Python 中的列内转换为 TB
- jenkins - Jenkins 声明式管道:如何从“主动选择反应性参考参数的 Groovy 脚本”调用函数?