소스 검색

remove dictify from state dict (#4141)

Khaleel Al-Adhami 7 달 전
부모
커밋
8ec3cf6157
2개의 변경된 파일4개의 추가작업 그리고 9개의 파일을 삭제
  1. 1 6
      reflex/state.py
  2. 3 3
      tests/units/test_state.py

+ 1 - 6
reflex/state.py

@@ -1879,13 +1879,8 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
             self.dirty_vars.update(self._always_dirty_computed_vars)
             self._mark_dirty()
 
-        def dictify(value: Any):
-            if dataclasses.is_dataclass(value) and not isinstance(value, type):
-                return dataclasses.asdict(value)
-            return value
-
         base_vars = {
-            prop_name: dictify(self.get_value(getattr(self, prop_name)))
+            prop_name: self.get_value(getattr(self, prop_name))
             for prop_name in self.base_vars
         }
         if initial and include_computed:

+ 3 - 3
tests/units/test_state.py

@@ -1290,19 +1290,19 @@ def test_computed_var_depends_on_parent_non_cached():
     assert ps.dirty_vars == set()
     assert cs.dirty_vars == set()
 
-    dict1 = ps.dict()
+    dict1 = json.loads(json_dumps(ps.dict()))
     assert dict1[ps.get_full_name()] == {
         "no_cache_v": 1,
         "router": formatted_router,
     }
     assert dict1[cs.get_full_name()] == {"dep_v": 2}
-    dict2 = ps.dict()
+    dict2 = json.loads(json_dumps(ps.dict()))
     assert dict2[ps.get_full_name()] == {
         "no_cache_v": 3,
         "router": formatted_router,
     }
     assert dict2[cs.get_full_name()] == {"dep_v": 4}
-    dict3 = ps.dict()
+    dict3 = json.loads(json_dumps(ps.dict()))
     assert dict3[ps.get_full_name()] == {
         "no_cache_v": 5,
         "router": formatted_router,