reactive-python/reactpy-router

`Navigate` component

Archmonger opened this issue · 0 comments

For event driven applications, it is useful to be able to dynamically route to different paths.

@component
def example():
    redirect_handler, set_redirect_handler = use_state(None)

    def click_event(e):
        resp = check_some_api()
        if resp.status == 501:
            set_redirect_handler(navigate("/login_incorrect"))
        elif resp.status == 200:
             set_redirect_handler(navigate("/login_successful"))
        else:
            set_redirect_handler(navigate("/login_error"))

    return div(button({"onClick": click_event}), redirect_handler)

This should be based on the react-router navigate component.

This feature might use our future use_messenger hook to handle redirection events.