我是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参数传递并查询新结果。