ReactJS/Graphql: Как экспортировать запрос для использования в другом компоненте?
Для следующего этапа этого проекта мне нужно экспортировать запрос, чтобы я мог вызвать его из другого компонента, используя переменные запроса. Все примеры, которые я видел, не используют ни 'query =', поэтому я теряюсь в синтаксической инструкции для экспорта запроса. Любая помощь будет оценена.
const UserList = (props) => (
<Query
query={gql`
query action($timestamp: Float! ){
action(timestamp: $timestamp){
action
timestamp
object{
filename
}
}
}
`}
>
{({ loading, error, data }) => {
if (loading) return <p>Loading...</p>;
if (error) return <p>Error</p>;
return (
<Item.Group divided>
{data.action.map(action =>
<div>
<ul>
<li>{action.action}</li>
<li>{action.timestamp}</li>
<ul>
{action.object.map( (obj) => {
return (<li>{obj.filename}</li>)
})}
</ul>
</ul>
</div>
)}
</Item.Group>
);
}}
</Query>
);
export default (UserList);
1 ответ
export const n6dynQuery = gql`
query action($timestamp: Float! ){
action(timestamp: $timestamp){
action
timestamp
object{
filename
}
}
}`
использовать его в компоненте как:
import {n6dynQuery} from "filepath"
const UserList = (props) => (
<Query query={n6dynQuery} >
{({ loading, error, data }) => {
if (loading) return <p>Loading...</p>;
if (error) return <p>Error</p>;
return (
<Item.Group divided>
{data.action.map(action =>
<div>
<ul>
<li>{action.action}</li>
<li>{action.timestamp}</li>
<ul>
{action.object.map( (obj) => {
return (<li>{obj.filename}</li>)
})}
</ul>
</ul>
</div>
)}
</Item.Group>
);
}}
</Query>
);
export default (UserList);