#javascript #reactjs #callback #react-hooks
#javascript #reactjs #обратный вызов #реагирующие перехваты
Вопрос:
У меня есть пользовательский хук в отдельной папке, который является хуком useQuery.
export default function useFetchProfile(userId) {
console.log("fetching profile");
return useQuery(`profileInfo`, () => {
return new Promise(async (resolve, reject) => {
try {
xxxxxxxxx
}
Я использую этот перехват внутри компонента react и вызываю функцию onSuccess следующим образом.
const {
data: profileUser,
isLoading: isLoadingUser,
refetch: refetchUser,
} = useFetchProfile(props.match.params.userId, {
onSuccess: (data) => {
console.log("success");
},
onError: (err) => {},
});
onSuccess не вызывается. Однако, если я вызываю onSuccess внутри папки hook, это работает.
Мне нужно вызвать onSucess внутри самого компонента.
Есть идеи, что не так с кодом?
Ответ №1:
На самом деле вы не передаете объект конфигурации в useQuery
:
// add config object to custom hook
export default function useFetchProfile(userId, config) {
return useQuery(`profileInfo`, () => {
return new Promise(async (resolve, reject) => {
// use config.onSuccess / config.onError
});
});
}