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