diff --git a/pynecone/components/tags/tag.py b/pynecone/components/tags/tag.py index cdd8f9434..eedee4bb0 100644 --- a/pynecone/components/tags/tag.py +++ b/pynecone/components/tags/tag.py @@ -67,7 +67,7 @@ class Tag(Base): if isinstance(prop, Var): if not prop.is_local or prop.is_string: return str(prop) - if issubclass(prop.type_, str): + if types._issubclass(prop.type_, str): return format.json_dumps(prop.full_name) prop = prop.full_name diff --git a/tests/components/test_tag.py b/tests/components/test_tag.py index d9029df85..417121959 100644 --- a/tests/components/test_tag.py +++ b/tests/components/test_tag.py @@ -1,4 +1,4 @@ -from typing import Dict +from typing import Any, Dict import pytest @@ -41,6 +41,16 @@ def mock_event(arg): ), ({"a": "red", "b": "blue"}, '{{"a": "red", "b": "blue"}}'), (BaseVar(name="var", type_="int"), "{var}"), + ( + BaseVar( + name="_", + type_=Any, + state="", + is_local=True, + is_string=False, + ), + "{_}", + ), (BaseVar(name='state.colors["a"]', type_="str"), '{state.colors["a"]}'), ({"a": BaseVar(name="val", type_="str")}, '{{"a": val}}'), ({"a": BaseVar(name='"val"', type_="str")}, '{{"a": "val"}}'),