export const fetchTodos = (page: number = 1, limit: number = 10) => {
return async (dispatch: Dispatch<TodoAction> ) => {
try {
dispatch({type: TodoActionTypes.FETCH_TODOS});
const responce = await axios.get('https://jsonplaceholder.typicode.com/todos', {
params: {_page: page, _limit: limit}
});
dispatch({type: TodoActionTypes.FETCH_TODOS_SUCCESS, payload: responce.data})
} catch (error) {
dispatch({type: TodoActionTypes.FETCH_TODOS_ERROR, payload: 'Erorrr1rr1r1'})
}
}
}
Вот функция fetchTodos, она возвращает функцию, т.е. чтобы её использовать, нужно сначала вызвать fetchTodos
const {fetchTodos} = useAction()
const pages = [1,2,3,4,5]
useEffect(() => {
fetchTodos(page,limit)
},[])
Вот так она используется, она просто вызывается и срабатывает как надо, можете объяснить почему?Я знаю, чтобы использоваться функцию, которую возвращает другая функция, нужно присвоить переменной результат функции fetchTodos, let res = fetchTodos(a,b), и только потом res() делать, но тут просто вызывается fetchTodosю
Код с видео, но хотелось бы понять почему так работает