@@ -94,7 +94,6 @@ class LifeCycleHook:
9494 "_effect_funcs" ,
9595 "_effect_starts" ,
9696 "_effect_stops" ,
97- "_is_rendering" ,
9897 "_render_access" ,
9998 "_rendered_atleast_once" ,
10099 "_schedule_render_callback" ,
@@ -112,7 +111,6 @@ def __init__(
112111 self ._context_providers : dict [Context [Any ], ContextProviderType [Any ]] = {}
113112 self ._schedule_render_callback = schedule_render
114113 self ._schedule_render_later = False
115- self ._is_rendering = False
116114 self ._rendered_atleast_once = False
117115 self ._current_state_index = 0
118116 self ._state : tuple [Any , ...] = ()
@@ -121,7 +119,7 @@ def __init__(
121119 self ._render_access = Semaphore (1 ) # ensure only one render at a time
122120
123121 def schedule_render (self ) -> None :
124- if self ._is_rendering :
122+ if self ._is_rendering () :
125123 self ._schedule_render_later = True
126124 else :
127125 self ._schedule_render ()
@@ -153,14 +151,12 @@ async def affect_component_will_render(self, component: ComponentType) -> None:
153151 """The component is about to render"""
154152 await self ._render_access .acquire ()
155153 self .component = component
156- self ._is_rendering = True
157154 self .set_current ()
158155
159156 async def affect_component_did_render (self ) -> None :
160157 """The component completed a render"""
161158 self .unset_current ()
162159 del self .component
163- self ._is_rendering = False
164160 self ._rendered_atleast_once = True
165161 self ._current_state_index = 0
166162 self ._render_access .release ()
@@ -202,6 +198,9 @@ def unset_current(self) -> None:
202198 if _HOOK_STATE .get ().pop () is not self :
203199 raise RuntimeError ("Hook stack is in an invalid state" ) # nocov
204200
201+ def _is_rendering (self ) -> bool :
202+ return self ._render_access .value != 0
203+
205204 def _schedule_render (self ) -> None :
206205 try :
207206 self ._schedule_render_callback ()
0 commit comments