Меня смущает лучшая практика при создании нового приложения react-apollo
и попытке связать мои компоненты с запросом graphql.
Например, мне кажется, что в документации react-apollo
есть места, где предлагается использовать <Query>
:
const GET_ALL_DOGS = gql`
query {
dogs {
id
breed
displayImage
}
}
`;
const Feed = () => (
<Query query={GET_DOGS}>
{({ loading, error, data }) => {
if (error) return <Error />
if (loading || !data) return <Fetching />;
return <DogList dogs={data.dogs} />
}}
</Query>
)
Там, где другие места в документации предлагают использовать функцию graphql()
:
function TodoApp({ data: { todos } }) {
return (
<ul>
{todos.map(({ id, text }) => (
<li key={id}>{text}</li>
))}
</ul>
);
}
export default graphql(gql`
query TodoAppQuery {
todos {
id
text
}
}
`)(TodoApp);
Глядя на примеры и документы, кажется, что <Query>
представляет подмножество graphql()
, и в этом случае кажется, что вам лучше использовать graphql()
по всем направлениям, но я подумал, что слышал, что использование <Query>
было предпочтительным подходом, и, как представляется, его чаще используют в руководстве по документации react-apollo
.
Любая помощь для новичка будет принята с благодарностью. Спасибо!