Я пытаюсь создать простой выбор с хуками из базы данных AWS. На данный момент это ошибки, и единственная причина, которую я вижу, состоит в том, что это нарушает правила хуков, но я не уверен, как. Он находится на верхнем уровне этого функционального компонента и не вызывается внутри обработчика событий.
Результат этого вызова (массив пользовательских данных) необходимо экспортировать как функцию и вызвать в другом файле.
Если кто-то может заметить что-то, что я пропустил, и может подсказать, как я нарушаю правила хуков, я был бы благодарен!
Спасибо!
const FetchUsers = () => {
const [hasError, setErrors] = useState(false);
const [Users, setUsers] = useState({});
async function fetchData() {
const res = await fetch(
"USERSDATABASE"
);
res
.json()
.then(res => setUsers(res))
.catch(err => setErrors(err));
}
useEffect(() => {
fetchData();
}, []);
return Users;
};
export { FetchUsers };
израсходовано здесь ....
class UsersManager {
constructor() {
this.mapUserCountries = {};
}
init() {
const mappedUsers = FetchUsers();
mappedUsers.forEach(user => {
const c = user.country;
if (!this.mapUserCountries[c])
this.mapUserCountries[c] = { nbUsers: 0, users: [] };
this.mapUserCountries[c].nbUsers++;
this.mapUserCountries[c].users.push(user);
});
}
getUsersPerCountry(country) {
return this.mapUserCountries[country];
}
}
export default new UsersManager();