我在使用我的redux Saga 在这里的customHooks有麻烦。我是新的redux Saga 所以不能让我的头左右调用自定义钩子函数在这里。
我创建了一个自定义钩子来调用我的API函数,其中有一个函数userLogin
。现在,我希望在 Saga 文件中调用相同的函数,每次发生特定的分派操作时都调用。
正确的方法是什么。我不应该在自定义钩子中定义我的API函数吗?
useApi.js
//useApi custom hook
export const useApi = () => {
const api = useAxios();
const userLogin = async (body, config = {}) => {
const res = await api.post(LOGIN, body, config);
return res.data;
};
return {
userLogin,
};
}
userSaga.js
import { takeEvery } from 'redux-saga/effects';
export function* userLoginFunction() {
//how can I call my custom hook function here ?
//because according to hooks rules, I cann't use the hook here.
try {
} catch (e) {
}
}
export default function* rootSaga() {
yield takeEvery('USER_LOGIN', fetchNumberSaga);
}
1条答案
按热度按时间kmynzznz1#
你不能... React钩子只能在
React functional components
内部使用。但别🙌担心
相反,您可以创建普通的API函数并使用它们。
示例:
API.js
user-api.js
userSaga.js