0
リレーonclick
を使用してgraphqlにリクエストを送信するにはどうすればよいですか?Relay Modern request onClick
render(){
<div>
<img src={this.state.picture}>
<input type="email" value={this.state.email} onChange{...}/>
<button onClick={this.checkEmail}>Check</button>
</div>
}
checkEmail = async() => {
const res = await axios({
method: 'post',
url: __RELAY_API_ENDPOINT__,
data: {
query: `query CheckEmail($email: String!){lookupEmail(email: $email){id, picture}}`,
variables: {"email": this.state.email}
}
});
//set state using res
}
私はリレーでこれを行う方法を理解できません。 例では、リレーはonMountの取得とレンダリングに使用されます。
しかし、イベントリスナー(onclick
)でデータを取得して状態を変更するにはどうすればよいですか? 私はそのような例を見つけることができませんでした。
データストアと直接対話する突然変異を使用する必要があります。ストアはアプリケーションの状態を維持します。クリックイベントは、突然変異イベントを引き起こすトリガー機能を持つことができます。突然変異は、コールバックとさまざまな組み込みのメカニズムを利用して、状態を楽観的に更新します。 –