Нужно сделать несколько запросов к бд, обработать их и сохранить в стор через dispatch.
всегда делал через redux thunk, но нашел решение более лаконичное, по моему мнению - через хуки. подскажите, а как вы делаете в своих проектах?
через thunk:
export const thunkAuth = () => async (dispatch) => {
await apiGetUser().then(({ data }) => dispatch(setUser(data)));
await apiGetPosts().then(({ data }) => dispatch(setPosts(data)));
await apiLogAuth(Date.now());
};
// в компоненте
const dispatch = useDispatch();
dispatch(thunkAuth());
через хуки:
export const useAuth = () => {
const dispatch = useDispatch();
return async () => {
await apiGetUser().then(({ data }) => dispatch(setUser(data)));
await apiGetPosts().then(({ data }) => dispatch(setPosts(data)));
await apiLogAuth(Date.now());
};
}
const auth = useAuth();
auth();