Почему redux вызывает одну и ту же thunk-функцию 2 раза?
Всем привет. Я пытаюсь переделать свою пагинацию пользователей с полной их замены на добавление новых к предыдущим. И тут я заметил проблему. Почему-то при нажатии на кнопку подгрузки новых пользователей redux вызывает мою thunk-функцию 2 раза. Причем, в первый раз, когда только заходишь на страницу пользователей и делается первый запрос все работает нормально. Я проверил, с useEffect-ами все нормально + я убрал React.StrickMode. В итоге первые 10(лимит запроса) пользователей у меня загружаются нормально, а уже далее при подгрузке новых пользователей они дублируются.
export const getUsers = (currentPage, pageSize) => async (dispatch) => {
dispatch(toggleIsFetching(true));
dispatch(updateCurrentPage(currentPage));
const data = await usersAPI.getUsers(currentPage, pageSize);
await dispatch(setUsers(data.items));
await dispatch(setTotalUsersCount(data.totalCount));
dispatch(toggleIsFetching(false));}
const usersReducer = (state = initialState, action) => {
switch (action.type) {
case TOGGLE_FOLLOW:
return {
...state,
users: state.users
.map(user => user.id === action.userId ? {...user, followed: !user.followed} : user),
}
case SET_USERS:
return {
...state,
users: [...state.users, ...action.users],
}
case SET_TOTAL_USERS_COUNT:
return {
...state,
totalUsersCount: action.totalUsersCount,
}
case UPDATE_CURRENT_PAGE:
return {
...state,
currentPage: action.currentPage,
}
case TOGGLE_IS_FETCHING:
return {
...state,
isFetching: action.isFetching,
}
case TOGGLE_IS_FOLLOWING_USER:
return {
...state,
followingUsersInProcess: action.isFetching ?
[...state.followingUsersInProcess, action.userId] :
state.followingUsersInProcess.filter(id => id !== action.userId),
}
default:
return state;
}}