Beispiel #1
0
 def Parent():
     state, set_state = use_state(0)
     return html.div(
         html.button(
             {
                 "onClick":
                 set_child_key_num.use(lambda: set_state(state + 1))
             },
             "click me",
         ),
         Child("some-key"),
         Child(f"key-{state}"),
     )
Beispiel #2
0
    def Child(child_key):
        state, set_state = use_state(0)

        @use_effect
        async def record_if_state_is_reset():
            if state:
                return
            effect_calls_without_state.append(child_key)
            set_state(1)
            did_call_effect.set()

        return html.div(
            child_key,
            key=child_key,
        )
Beispiel #3
0
def _use_callable(initial_func: _FuncVar) -> Tuple[_FuncVar, Callable[[_Func], None]]:
    state: Tuple[_FuncVar, Callable[[_Func], None]] = hooks.use_state(
        lambda: initial_func
    )
    return state[0], lambda new: state[1](lambda old: new)
Beispiel #4
0
 def Root():
     event_name, set_event_name.current = use_state("first")
     return html.button({
         event_name:
         event_handler.use(lambda: did_trigger.set_current(True))
     })
Beispiel #5
0
 def Child():
     use_state(
         lambda: did_init_state.set_current(did_init_state.current + 1))
Beispiel #6
0
 def Root():
     key, set_key.current = use_state("key-1")
     return Child(key=key)
Beispiel #7
0
 def SecondComponent():
     second_used_state.current = use_state("second")[0]
     # reset state after unmount
     use_effect(lambda: lambda: second_used_state.set_current(None))
     return html.div()
Beispiel #8
0
 def FirstComponent():
     first_used_state.current = use_state("first")[0]
     # reset state after unmount
     use_effect(lambda: lambda: first_used_state.set_current(None))
     return html.div()