Skip to content

Commit 3ca941e

Browse files
committed
fix page template
1 parent 04fc0f4 commit 3ca941e

File tree

2 files changed

+18
-21
lines changed

2 files changed

+18
-21
lines changed

reflex/compiler/compiler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def _compile_page(component: BaseComponent) -> str:
159159
imports = utils.compile_imports(imports)
160160

161161
# Compile the code to render the component.
162-
return templates.PAGE.render(
162+
return templates.page_template(
163163
imports=imports,
164164
dynamic_imports=component._get_all_dynamic_imports(),
165165
custom_codes=component._get_all_custom_code(),

reflex/compiler/templates.py

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -410,41 +410,41 @@ def _component_template(**kwargs):
410410
return result
411411

412412

413-
def _page_template(**kwargs):
413+
def page_template(
414+
imports: Iterable[_ImportDict],
415+
dynamic_imports: Iterable[str],
416+
custom_codes: Iterable[str],
417+
hooks: dict[str, VarData | None],
418+
render: dict[str, Any],
419+
):
414420
"""Template for a single react page.
415421
416422
Args:
417-
**kwargs: Template context variables including imports, hooks, render content, etc.
423+
imports: List of import statements.
424+
dynamic_imports: List of dynamic import statements.
425+
custom_codes: List of custom code snippets.
426+
hooks: Dictionary of hooks.
427+
render: Render function for the component.
418428
419429
Returns:
420430
Rendered React page component as string.
421431
"""
422-
imports = kwargs.get("imports", "")
423-
dynamic_imports = kwargs.get("dynamic_imports", [])
424-
custom_codes = kwargs.get("custom_codes", [])
425-
hooks = kwargs.get("hooks", {})
426-
render_content = kwargs.get("render", "")
427-
432+
imports_str = "\n".join([_RenderUtils.get_import(imp) for imp in imports])
428433
custom_code_str = "\n".join(custom_codes)
429434
dynamic_imports_str = "\n".join(dynamic_imports)
430435

431-
# Render hooks
432-
sorted_hooks = _sort_hooks(hooks)
433-
hooks_code = ""
434-
for hook_list in sorted_hooks.values():
435-
for hook, _ in hook_list:
436-
hooks_code += f" {hook}\n"
436+
hooks_str = _render_hooks(hooks)
437+
return f"""{imports_str}
437438
438-
return f"""{imports}
439439
{dynamic_imports_str}
440440
441441
{custom_code_str}
442442
443443
export default function Component() {{
444-
{hooks_code}
444+
{hooks_str}
445445
446446
return (
447-
{_RenderUtils.render(render_content)}
447+
{_RenderUtils.render(render)}
448448
)
449449
}}"""
450450

@@ -704,9 +704,6 @@ def render(self, **kwargs) -> str:
704704
# Template to render a component tag.
705705
COMPONENT = TemplateFunction(_component_template)
706706

707-
# Code to render a single react page.
708-
PAGE = TemplateFunction(_page_template)
709-
710707
# Code to render Component instances as part of StatefulComponent
711708
STATEFUL_COMPONENT = TemplateFunction(_stateful_component_template)
712709

0 commit comments

Comments
 (0)