React 动态导入组件的问题 ?

作者站长头像
站长
· 阅读数 8
  • 为何 HHHHHHHHHHH 是插不进去的 ? 通过打印是进入了 import 语句的
let aaa: any = []
page_list.map((v: any) => {
    switch (v.type){
        case 'a':
            aaa.push(<div key={v.text}>
                <Button block key={v.text} color='primary'  style={{
                    width: 100,
                    height: 100
                }}>{v.text}</Button>
                <a href={`/page/3?id=1111111111111111111`}>去 3 号</a>
            </div>)
            break
        case 'b':
            import('./control/C_Button').then(module => {
                console.log("aaaa")

                aaa.push(<div  key="asdhiahsdiasd">HHHHHHHHHHH</div>)

                const FormatModule: React.FC = () => { return (<module.default></module.default>); };
            });

            aaa.push(<div  key={v.type}>{v.text}</div>)
            break;
    }

})
// console.log(aaa)
setList(aaa)
回复
1个回答
avatar
test
2024-07-03
let promises = page_list.map((v: any) => {
    switch (v.type){
        case 'a':
            return Promise.resolve(
                <div key={v.text}>
                    <Button block key={v.text} color='primary'  style={{
                        width: 100,
                        height: 100
                    }}>{v.text}</Button>
                    <a href={`/page/3?id=1111111111111111111`}>去 3 号</a>
                </div>
            );
        case 'b':
            return import('./control/C_Button').then(module => {
                console.log("aaaa")

                const FormatModule: React.FC = () => { return (<module.default></module.default>); };
                return (
                    <div key={v.type}>
                        {v.text}
                        <div key="asdhiahsdiasd">HHHHHHHHHHH</div>
                        <FormatModule />
                    </div>
                );
            });
    }
});

Promise.all(promises).then(aaa => {
    setList(aaa);
});
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容