2016-10-26 2 views
2

У меня есть этот отдых приложение, которое получает данные, как это, с Thunk + обещание для Redux промежуточное программное:Преобразование клиента redux из REST в GraphQL Apollo?

export const fetchVenues =() => ({ 
    type: 'FETCH_VENUES', 
    payload: axios.get('http://localhost:3000/mock/venues'), 
}); 

Данные из этого идет в магазин и компоненты использовать неправдоподобные данные оттуда.

Могу ли я поменять запрос на остальное в «полезной нагрузке» с помощью запроса graphql или что-то еще?

Что меня смущает, так это то, что Redux говорит: «Данные хранятся в магазине и могут быть изменены только действиями», но Apollo привязывает данные непосредственно к компонентам. Я уже сделал API GraphQL, отлично работает в devtool graphiql, но меня немного смущает то, как он обрабатывается на клиенте после чтения this article.

ответ

3

Я понимаю, что внутри, apollo использует сокращение. В основном это заставляет вас совместить запрос с компонентом и вводить (подключать) связанные функции данных + в качестве реквизита. Он также управляет хранилищем для вас, обновляя кэш/хранилище по завершении запроса.

Вы можете видеть, что ApolloProvider является перевождь поставщик на стероидах: https://github.com/apollostack/react-apollo/blob/01425b3df5f05e7f389b36f3385433c89a39977b/src/ApolloProvider.tsx

Я надеюсь, что это помогает ваше понимание немного.

Смежные вопросы