From 5fae1bb5638692a939d6a6403dc86067c442a8f1 Mon Sep 17 00:00:00 2001 From: Masen Furer Date: Thu, 14 Mar 2024 11:54:31 -0700 Subject: [PATCH] CustomComponent ignores the annotation type in favor of the passed value Do not require rx.memo wrapped functions to have 100% correct annotations. --- reflex/components/component.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/reflex/components/component.py b/reflex/components/component.py index 71b870b8c..a81e94178 100644 --- a/reflex/components/component.py +++ b/reflex/components/component.py @@ -1296,17 +1296,12 @@ class CustomComponent(Component): self.props[format.to_camel_case(key)] = value continue - # Convert the type to a Var, then get the type of the var. - if not types._issubclass(type_, Var): - type_ = Var[type_] - type_ = types.get_args(type_)[0] - # Handle subclasses of Base. - if types._issubclass(type_, Base): + if isinstance(value, Base): base_value = Var.create(value) # Track hooks and imports associated with Component instances. - if base_value is not None and types._issubclass(type_, Component): + if base_value is not None and isinstance(value, Component): value = base_value._replace( merge_var_data=VarData( # type: ignore imports=value.get_imports(),