File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -1245,3 +1245,32 @@ def SomeComponent():
1245
1245
1246
1246
with assert_idom_did_not_log (r"SomeComponent\(.*?\) message is 'bye'" ):
1247
1247
await layout .render ()
1248
+
1249
+
1250
+ async def test_conditionally_rendered_components_can_use_context ():
1251
+ set_state = idom .Ref ()
1252
+ used_context_values = []
1253
+ some_context = idom .Context ("some_context" , None )
1254
+
1255
+ @idom .component
1256
+ def SomeComponent ():
1257
+ state , set_state .current = idom .use_state (True )
1258
+ if state :
1259
+ return FirstCondition ()
1260
+ else :
1261
+ return SecondCondition ()
1262
+
1263
+ @idom .component
1264
+ def FirstCondition ():
1265
+ used_context_values .append (idom .use_context (some_context ))
1266
+
1267
+ @idom .component
1268
+ def SecondCondition ():
1269
+ used_context_values .append (idom .use_context (some_context ))
1270
+
1271
+ async with idom .Layout (some_context (SomeComponent (), value = "the-value" )) as layout :
1272
+ await layout .render ()
1273
+ assert used_context_values == ["the-value" ]
1274
+ set_state .current (False )
1275
+ await layout .render ()
1276
+ assert used_context_values == ["the-value" , "the-value" ]
You can’t perform that action at this time.
0 commit comments