GraphQL を使用するための recoil-relay
ライブラリの最初のオープンソースリリース!
このライブラリは、Recoil が GraphQL
と Relay ライブラリを使用して、型安全で効率的なクエリを実行できるように支援します。GraphQL で簡単にクエリできるセレクターを提供します。クエリは Recoil データフローグラフと同期されるため、ダウンストリーム セレクターはそれらから状態を派生できます。アップストリーム Recoil 状態に依存でき、Relay のグラフの変更には自動的にサブスクライブされます。すべてが自動的に同期されます。
例
GraphQL クエリは、GraphQL セレクター を定義するのと同じくらい簡単です。
const userNameQuery = graphQLSelector({
key: 'UserName',
environment: myEnvironment,
query: graphql`
query UserQuery($id: ID!) {
user(id: $id) {
name
}
}
`,
variables: ({get}) => ({id: get(currentIDAtom)}),
mapResponse: data => data.user?.name,
});
他の Recoil セレクター と同様に使用します
function MyComponent() {
const userName = useRecoilValue(userNameQuery);
return <span>{userName}</span>;
}