Redux-toolkit и получение значений из стора после запросов
Идея была в том, что с помощью rtk-query загружать картинки. Сначала пробовал через Promise.all().then(), в then() я должен был получить заполненный массив. Но и этого не получил. Теперь попробовал так:
const buildingsMediaData = useSelector((state) => state.buildingsState.buildingsMediaData);
...
const [uploadMedia, { isLoading, isSuccess, error, isError }] = useUploadMediaMutation();
...
const handleOnSubmit = async (evt) => {
try {
let promises = imgFiles.map((imgFile) =>
uploadMedia({
file: imgFile,
type: 'BUILDING_IMG_TYPE',
}).unwrap()
);
let results = await Promise.all(promises);
console.log(results, buildingsMediaData); // Почему buildingsMediaData пустой?
} catch (e) {
console.log(e);
}};
В слайсе пробовал через extraReducers заполнять
const initialState = {
buildingsMediaData: [],
};
export const buildingsSlice = createSlice({
initialState,
name: 'buildingsSlice',
reducers: {
},
extraReducers: (builder) => {
builder.addMatcher(buildingsApi.endpoints.uploadMedia.matchFulfilled, (state, action) => {
state.buildingsMediaData = [
...current(state).buildingsMediaData,
{
respValue: action.payload,
uploaded: true
}];// В массиве, для примера, эти значения
});
},
});
После выполнения запросов buildingsMediaData остаётся пустым, хотя в Redux Dev Tools он заполнен