I'm trying to set authentication state depending on an HTTP response body. However, I am unable to pass isAuth
's state to app()
's child components. Each time I call setIsAuth()
from SignIn.js
I receive a: TypeError: setIsAuth is not a function.
What am I doing wrong?
app.js
function App() {
const [isAuth, setIsAuth] = useState(false);
return (
<Router>
<Switch>
<Route path = "/signin" component={SignInPage} setIsAuth={setIsAuth} isAuth={isAuth} exact/>
</Switch>
</Router>
);
}
export default App;
SignInPage.js
const SignInPage = ({setIsAuth}) => {
return (
<SignIn setIsAuth={setIsAuth}></SignIn>
);
};
export default SignInPage;
SignIn.js
const SignIn = ({setIsAuth}) => {
const {handleSubmit} = useForm({});
const onSubmit => {
setIsAuth(true)
}
return (
<SomeComponent onClick={handleSubmit(onSubmit)}/>
)
}
export default SignIn