Я новичок в gatsby и graphQL и пытаюсь создать веб-сайт с этим стеком, который будет отображать список концертов / событий.
Мой вопрос:
Можно ли передать данные из состояния моего приложения в переменные моего запроса.Где я могу связать свое состояние и мой запрос к GraphQL?
Вот мой код:
class IndexPage extends Component {
state = {
term: '',
date: null,
}
onTermChange(term) {
this.setState({ term });
}
render() {
return (
<Layout>
<SearchForm
onTermChange={this.onTermChange.bind(this)}
value={this.state.term}
/>
<Calendar
onChange={date => this.setState({ date })}
value={this.state.date}
/>
<StaticQuery
query={graphql`
query ComingEvents {
allEvent(sort: {fields: [dateAndTime], order: ASC}) {
edges {
node {
id
name
dateAndTime
venue
ticketsLink
city
thumbnail {
id
url
}
}
}
}
}`
}
render={ data => (
<EventsList
events={data.allEvent.edges}
/>
)}
/>
</Layout>
);
}}
В основном это то, что я хочу сделать:
- Когда значениеформа поля поиска
this.state.term
изменяется, я хочу передать это как параметр $ name и запросить новые результаты. - Когда значение даты, выбранной в календаре
this.state.date
, изменяется, я хочу передать это как параметр $ dateAndTime и запросить новые результаты.