SolidJSS
SolidJSโ€ข4y agoโ€ข
23 replies
Mr Void

Parent doesn't update view when state changes.

Problem: when the child component modifies the state of Auth, the rendering doesn't update.

Auth component:
function Auth() {
    const [viewLogin, setViewLogin] = createSignal(true);

    createEffect(() => console.log(viewLogin()));  // prints false after button in Login is clicked.

    return (
        viewLogin() ?
            <Login viewState={setViewLogin} /> :
            <Register viewState={setViewLogin} />
    );
}


Login component:
function Login(
    { viewState }:
    { viewState: (b: boolean) => void })
{

    const toggleState = () => {
        viewState(false);
    }

    return (
        <button onClick={() => toggleState()}>Create one now.</button>
    )
}

export default Login;
Was this page helpful?