React动态加载组件.真

2023-05-25 0 979

React的静态模块的同时实现,许多都是采用if else,好的采用广济函数,再Dharmapuri的采用switch case,但随著的更多模块的导入,具体来说import的文档会愈来愈多,其二是switch case的推论组成部分也会愈来愈多,做为两个有崇尚的开发人员屌丝,这当然是无法忍的。

以后采用Vue的这时候Component :is十分称心,接着我的路子就剪影在这下面了,化解辨认出并没较好的API间接采用,历经半天的考察,最后把计划剪影在webpack的require.content上,不专业术语间接上标识符。

React动态加载组件.真

* 模块静态化核心理念计划

* author: carry

* update: 2021/08/11 14:40

const files = require.context(“./”, true, /\.jsx$/);

const comps = {};

files.keys().forEach((key) => {

const Comp = files(key).default;

const name = Comp.name && !comps[Comp.name] ? Comp.name : key.replace(/\.\/(.*?)\.jsx/, “$1”);

comps[name] = ;

export default comps;

个第一类中,key采用Jsx export出的function name,假如为空或是多次重复不然采用方向,那个地方性重新命名须要严控,防止多次重复或是象征意义不清的情形造成。

接来下我们再看看采用的地方性

React动态加载组件.真

import React from “react”;

import { ContextProvider } from “./reducer”;

import Components from “./components”;

const App = () => {

return (

[“Counter”, “CounterTest”, “Counter1”].map((key) =>

{ return Components[key]; })

};

export default App;

采用require.context的计划好处是文档夹下的模块新增的这时候无需手动导入,这样同时实现才是真正的静态,同样那个计划也可以采用router的静态化,不过下篇见啦。

我是键盘钢琴家,两个把键盘当作钢琴采用的开发人员。富有节奏的键盘敲击声真是悦耳吖。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务