diff --git a/reflex/compiler/compiler.py b/reflex/compiler/compiler.py index 218dd0c55..c2a76aad3 100644 --- a/reflex/compiler/compiler.py +++ b/reflex/compiler/compiler.py @@ -239,11 +239,19 @@ def _compile_components( component_renders.append(component_render) imports = utils.merge_imports(imports, component_imports) + dynamic_imports = { + comp_import: None + for comp_render in component_renders + if "dynamic_imports" in comp_render + for comp_import in comp_render["dynamic_imports"] + } + # Compile the components page. return ( templates.COMPONENTS.render( imports=utils.compile_imports(imports), components=component_renders, + dynamic_imports=dynamic_imports, ), imports, ) diff --git a/reflex/compiler/utils.py b/reflex/compiler/utils.py index 9b388400b..57241fea9 100644 --- a/reflex/compiler/utils.py +++ b/reflex/compiler/utils.py @@ -320,6 +320,7 @@ def compile_custom_component( "render": render.render(), "hooks": render._get_all_hooks(), "custom_code": render._get_all_custom_code(), + "dynamic_imports": render._get_all_dynamic_imports(), }, imports, )