Я хочу использовать useEffect, чтобы проверить, выполнил ли пользователь печать имени пользователя в меню. но я получаю это предупреждение:
React Hook useEffect имеет ненужную зависимость: 'authService._user'. Либо исключите его, либо удалите массив зависимостей. Значения внешней области видимости, такие как 'authService._user', не являются допустимыми зависимостями , поскольку их изменение не приводит к повторному рендерингу компонента response-hooks / respashly-deps
это моеuseEffect в navbar :
useEffect(() => {
setUsername(authService._user.username);
}, [authService._user])
, и это мой пример службы авторизации:
interface User {
username: string;
password: string;
}
export class AuthorizeService {
_user: User = {
username: '',
password: ''
};
_isAuthenticated = false;
isAuthenticated() {
return this._isAuthenticated;
}
Authenticate(username: string, password: string) {
this._isAuthenticated = true; //I will add fetch latter here
this._user = {
username: username,
password: password
}
}
}
const authService = new AuthorizeService();
export default authService;
btw все отлично работает, но в консоли есть предупреждение.
мой вопрос: это правильный способ сделать это? и почему есть предупреждение.