开发者社区 问答 正文

如何手动实现一个动态加载的React组件?

如何手动实现一个动态加载的React组件?

展开
收起
萝卜丝丸子 2024-08-12 20:33:20 97 分享 版权
1 条回答
写回答
取消 提交回答
  • 我们可以使用React的Hooks,如useState和useEffect,结合JavaScript的动态import()语法来手动实现一个动态加载的React组件。示例代码如下:

    import { createElement, useState, useEffect } from 'rax';  
    
    const AsyncComponent = (props) => {  
      const [AsyncMod, setAsyncMod] = useState(null);  
      useEffect(() => {  
        const load = async () => {  
          const Module = await import('./ThisIsBigMod'); // 动态加载组件  
          try {  
            setAsyncMod(Module);  
          } catch (e) {  
            console.log(e);  
          }  
        };  
        load();  
      }, []);  
    
      if (!AsyncMod || !AsyncMod.default) {  
        return null;  
      }  
      return <AsyncMod.default {...props} />;  
    };  
    
    export default AsyncComponent;
    
    2024-08-13 21:27:05
    赞同 展开评论
问答分类:
问答地址: