Можно ли использовать Recompose для компонента Query react-apollo?
https://www.apollographql.com/docs/react/essentials/queries.html#basic
Я думал примерно так:
const props = {component:"Query", query: gql(ListResults), children: ViewResults};
export default withProps(props)(componentFromProp('component'))
Я хочу определить компоненты и свойства в таблице DynamoDB, перед которой находится GraphQL. Если я хочу изменить ссылку привязки на кнопку, я могу сделать это без обновления кодовой базы. Таким образом, приложение будет сначала запрашивать при загрузке, получать компоненты, реквизиты и сборку для пользователя, используя данные на стороне клиента. Если вы хотите помочь, я могу заплатить и отдать Github и AWS.





Вы можете составить запрос вместо использования компонента Query.
Используя пример из размещенной вами ссылки.
import { compose } from 'recompose';
import gql from 'graphql-tag';
import { graphql } from 'react-apollo';
const Dogs = ({ data, onDogSelected }) => (
<select name = "dog" onChange = {onDogSelected}>
{data.dogs.map(dog => (
<option key = {dog.id} value = {dog.breed}>
{dog.breed}
</option>
))}
</select>
);
const GET_DOGS = gql`
{
dogs {
id
breed
}
}
`;
const getDogsQuery = graphql(GET_DOGS, {
options: props => ({
fetchPolicy: props.fetchPolicy // example of passing to the query from props.
})
});
export default compose(getDogsQuery)(Dogs); // { data } is now a prop with the query results.
Спасибо! Мне нужно рассмотреть это подробнее. Чтобы уточнить, моя цель - иметь что-то вроде этого в DynamoDB: {component: "Query", query: gql (ListResults), children: ViewResults}
Я не уверен, что в вашем вопросе достаточно подробностей, чтобы получить необходимую помощь. Не похоже, что componentFromProps - это то, что вы ищете. Изначально он был предназначен для визуального рендеринга компонентов с похожим стилем. twitter.com/acdlite/status/662127795112308736?lang=en Компонент Query от Apollo должен иметь query = prop. Никакой другой компонент не нуждается в этой опоре, поэтому определение общей версии не имеет смысла. При этом я уверен, что не совсем понимаю, что вы пытаетесь сделать. :-D