Как в React + Redux получить данные с api одним экшеном и редюсером?

Пришел с Angular 2 в React + Redux.
В Angular описывал base.service, который реализовывал все основные методы по работе с данными.
А потом просто набирались компоненты, как конструктор, ссылаясь на этот base.service.

Как реализовать подобный универсальный base.reducer и base.action в Redux?
Уверен есть примеры, не могу найти.

Для начала пытаюсь вытащить с помощью одного редюсера и одного экшена данные (пр. users, hospitals) из api, вызывая экшн fetchData(url). А вот дальше не понимаю, как редюсером данные сохранить в store, соответствуя ответу от api. Чтобы было store.users и store.hospitals.
  • Вопрос задан
  • 818 просмотров
Пригласить эксперта
Ответы на вопрос 1
fnnzzz
@fnnzzz
front-end dev
можно как-то так..

const myState = {
	users: [],
	hospitals: []
}

const myReducer = (state = myState, action) => {
	if( action.type === 'FETCH_DATA' ) {
		return myState[action.storeType].concat(data)
	}

	return state
}

const fetchData = (url) => {
	fetch(...).then(data => {
		return {
			type: "FETCH_DATA",
			data: data.result,
			storeType: data.type
		}
	})
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы