Это свойство позволяет вам настроить имя опоры, которая передается вашему компоненту. По умолчанию, если документ GraphQL, который вы передаете в graphql()
, является запросом, тогда ваш реквизит будет назван data
. Если вы пройдете мутацию, ваша опора будет названа mutate
. При необходимости эти имена по умолчанию конфликтуют, когда вы пытаетесь использовать несколько запросов или мутаций с одним и тем же компонентом. Чтобы избежать коллизий, вы можете использовать config.name
для предоставления реквизита от каждого query
или mutation
HOC нового имени.
Пример
export default compose(
graphql(gql`mutation (...) { ... }`, { name: 'createTodo' }),
graphql(gql`mutation (...) { ... }`, { name: 'updateTodo' }),
graphql(gql`mutation (...) { ... }`, { name: 'deleteTodo' }),
)(MyComponent);
function MyComponent(props) {
// Instead of the default prop name, `mutate`,
// we have three different prop names.
console.log(props.createTodo);
console.log(props.updateTodo);
console.log(props.deleteTodo);
return null;
}
Иключ переменной, которую вы хотите использовать, отсутствует в операторе запроса, показывая сообщение об ошибке.
используйте переменные параметров
export default graphql(gql`
query ($width: Int!, $height: Int!) {
...
}
`, {
options: (props) => ({
variables: {
width: props.size,
height: props.size,
},
}),
})(MyComponent);