diff --git a/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 b/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 index a57bb87da..e729d7273 100644 --- a/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +++ b/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 @@ -8,7 +8,7 @@ {% endfor %} export const {{component.name}} = memo(({ {{-component.props|join(", ")-}} }) => { - {{ renderHooks(component.hooks.items()) }} + {{ renderHooks(component.hooks) }} return( {{utils.render(component.render)}} diff --git a/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 b/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 index 1ed7323b1..208a5755f 100644 --- a/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +++ b/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 @@ -1,6 +1,6 @@ {% import 'web/pages/utils.js.jinja2' as utils %} {% from 'web/pages/macros.js.jinja2' import renderHooksWithMemo %} -{% set all_hooks = component._get_all_hooks().items() %} +{% set all_hooks = component._get_all_hooks() %} export function {{tag_name}} () { {{ renderHooksWithMemo(all_hooks, memo_trigger_hooks) }} diff --git a/reflex/compiler/templates.py b/reflex/compiler/templates.py index 5445e43ab..5c7badfa3 100644 --- a/reflex/compiler/templates.py +++ b/reflex/compiler/templates.py @@ -5,9 +5,10 @@ from jinja2 import Environment, FileSystemLoader, Template from reflex import constants from reflex.constants import Hooks from reflex.utils.format import format_state_name, json_dumps +from reflex.vars.base import VarData -def _sort_hooks(hooks): +def _sort_hooks(hooks: dict[str, VarData | None]): """Sort the hooks by their position. Args: @@ -22,7 +23,7 @@ def _sort_hooks(hooks): Hooks.HookPosition.POST_TRIGGER: [], } - for hook, data in hooks: + for hook, data in hooks.items(): if data and data.position and data.position == Hooks.HookPosition.INTERNAL: sorted_hooks[Hooks.HookPosition.INTERNAL].append((hook, data)) elif not data or (