вижу данные, которые мне нужны. Смотрю action.payload, а там undefined.
async function getRequest({ path, reject, method = "GET", dispatch = null }) {
try {
const response = await fetch(path, {
method,
});
if (!response.ok) {
throw new Error("Запрос не был Request");
}
if (dispatch) dispatch;
return response.json();
} catch (error) {
return reject(error.message);
}
}
export { getRequest };
Меняю на
export const fetchUsers = createAsyncThunk("registeredUsers/fetchUsers", async (_, { rejectWithValue }) => {
try {
const usersPath = "https://...";
const response = await fetch(usersPath, {
method: 'GET'
});
if (!response.ok) {
throw new Error("Вы не получили запрос в fetchUser");
}
return response.json();
} catch (error) {
return rejectWithValue(error.message);
}
});
в payload прилетают данные.
if (dispatch) dispatch; это как?
так это просто объект, где null, если диспетчера нет
что делает эта строка?
ок, допустим getRequest возвращает нужное значение, как оно попадает в редюсер?
Я вот думаю. Если второй вариант у тебя работает, то зачем тебе первый?
ты шаришь зачем строка if (dispatch) dispatch; ?
Нет. Но я думаю у него есть для этого стройное логическое объяснение. Не факт, что правильное. Но мало ли...
эх... dispatch не будет если null. Это все, что я могу сказать.
Ты какой то хак используешь? Например если dispatch это объект, то этот хак автоматом вызывает какой то метод этого объекта?
Обсуждают сегодня