|
@@ -2552,17 +2552,25 @@ class CallableVar(BaseVar):
|
|
|
|
|
|
|
|
|
|
def get_uuid_string_var() -> Var:
|
|
def get_uuid_string_var() -> Var:
|
|
- """Return a var that generates UUIDs via .web/utils/state.js.
|
|
|
|
|
|
+ """Return a Var that generates a single memoized UUID via .web/utils/state.js.
|
|
|
|
+
|
|
|
|
+ useMemo with an empty dependency array ensures that the generated UUID is
|
|
|
|
+ consistent across re-renders of the component.
|
|
|
|
|
|
Returns:
|
|
Returns:
|
|
- the var to generate UUIDs at runtime.
|
|
|
|
|
|
+ A Var that generates a UUID at runtime.
|
|
"""
|
|
"""
|
|
from reflex.utils.imports import ImportVar
|
|
from reflex.utils.imports import ImportVar
|
|
|
|
|
|
unique_uuid_var_data = VarData(
|
|
unique_uuid_var_data = VarData(
|
|
- imports={f"/{constants.Dirs.STATE_PATH}": {ImportVar(tag="generateUUID")}} # type: ignore
|
|
|
|
|
|
+ imports={
|
|
|
|
+ f"/{constants.Dirs.STATE_PATH}": {ImportVar(tag="generateUUID")}, # type: ignore
|
|
|
|
+ "react": "useMemo",
|
|
|
|
+ }
|
|
)
|
|
)
|
|
|
|
|
|
return BaseVar(
|
|
return BaseVar(
|
|
- _var_name="generateUUID()", _var_type=str, _var_data=unique_uuid_var_data
|
|
|
|
|
|
+ _var_name="useMemo(generateUUID, [])",
|
|
|
|
+ _var_type=str,
|
|
|
|
+ _var_data=unique_uuid_var_data,
|
|
)
|
|
)
|