У меня есть глобальное управление состоянием с использованием useContext
и useReducer
. Я хочу проверить, аутентифицирован ли пользователь или нет. чтобы сделать то, что мне пришло в голову, нужно было проверить внутри getInitialProps
таким образом:
DashboardPage.getInitialProps = async () => {
const [globalState, dispatch] = useContext(STORE.storeContext);
let auth = globalState.isAuthed
if (!auth) {
auth = axiox.get('/authenticateThisUser');
}
return {
auth,
}
}
Однако, когда я выполняю этот фрагмент, он выдает Error: Invalid hook call. Hooks can only be called inside of the body of a function component
. как я могу использовать useContext
внутри getInitialProps
?
То, что я ищу, - это способ предотвратить отправку компонентами избыточных запросов авторизации на сервер.
Было бы замечательно, если бы было несколько методов для условного выполнения getInitialProps
, например:
if(globalState.isAuthed){
//dont execute getInitialProps of this component
}else {
//execute getInitialProps of this component
}