Я новичок в хуках и до сих пор был слегка впечатлен, однако, мне кажется, что я жалею, если пытаюсь использовать хуки внутри функции (Недопустимый вызов хука. Хуки могут быть вызваны только внутри тела компонента функции) Это может произойти по одной из следующих причин).
У меня есть несколько общих функций API внутри базового файла, которые используются для получения данных из API. Они НЕ возвращают ничего и просто отправляют (useDispatch) в хранилище, и связанные компоненты, использующие это состояние, обновляются по всему приложению. Я понимаю, что, возможно, причина в том, что он не возвращает элемент React, но есть ли способ обойти это или лучший, более «рекомендуемый» подход React? Это не конец света, если мне придется вручную передать пользователя и отправить возвращаемый результат в родительском компоненте, но я бы предпочел сохранить его в одном месте и обработать все в этой функции, чтобы все родительские компоненты имели сделать, это обновить, когда состояние меняется.
Это функция:
export async function getCar(id) {
// It's complaining about these hooks
const { user } = useSelector(state => state.auth);
const dispatch = useDispatch();
try {
let response = await axios.get(`${baseURL}api/cars/getCar/${id}/${user.id});
if (response.data.successCode === 200) dispatch(setCar(response.data));
} catch (error) {
}
}
ИСПОЛЬЗОВАНИЕ: const carsList = getCar("id");
Спасибо всем, большое спасибо.