Skip to content

Commit

Permalink
Deploying to gh-pages from @ d10786b 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
facebook-github-bot committed Oct 1, 2024
1 parent fd33cac commit 4fc9213
Show file tree
Hide file tree
Showing 1,851 changed files with 3,698 additions and 3,702 deletions.
4 changes: 2 additions & 2 deletions 404.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@


<link rel="search" type="application/opensearchdescription+xml" title="Relay" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.52b9fb9f.css">
<link rel="preload" href="/assets/js/runtime~main.61d2a0cd.js" as="script">
<link rel="preload" href="/assets/js/runtime~main.861aeb16.js" as="script">
<link rel="preload" href="/assets/js/main.6b57fb70.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script>

<div style="display: none; text-align: center; background-color: white; color: black;" id="internaldocs-banner"></div><div id="__docusaurus">
<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbar--primary"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><b class="navbar__title text--truncate">Relay</b></a><a class="navbar__item navbar__link" href="/docs/">Docs</a><a class="navbar__item navbar__link" href="/blog/">Blog</a><a class="navbar__item navbar__link" href="/help/">Help</a><a href="https://github.com/facebook/relay" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/docs/">v18.0.0</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/next/">Next 🚧</a></li><li><a class="dropdown__link" href="/docs/">v18.0.0</a></li><li><a class="dropdown__link" href="/docs/v17.0.0/">v17.0.0</a></li><li><a class="dropdown__link" href="/docs/v16.0.0/">v16.0.0</a></li><li><a class="dropdown__link" href="/docs/v15.0.0/">v15.0.0</a></li><li><a class="dropdown__link" href="/docs/v14.0.0/">v14.0.0</a></li><li><a class="dropdown__link" href="/docs/v13.0.0/">v13.0.0</a></li><li><a class="dropdown__link" href="/docs/v12.0.0/">v12.0.0</a></li><li><a class="dropdown__link" href="/docs/v11.0.0/">v11.0.0</a></li><li><a class="dropdown__link" href="/docs/v10.1.3/">v10.1.3</a></li><li><a class="dropdown__link" href="/docs/v10.1.2/">v10.1.2</a></li><li><a class="dropdown__link" href="/docs/v10.1.1/">v10.1.1</a></li><li><a class="dropdown__link" href="/docs/v10.1.0/">v10.1.0</a></li><li><a class="dropdown__link" href="/docs/v10.0.1/">v10.0.1</a></li><li><a class="dropdown__link" href="/docs/v10.0.0/">v10.0.0</a></li><li><a class="dropdown__link" href="/docs/v9.1.0/">v9.1.0</a></li><li><a class="dropdown__link" href="/docs/v9.0.0/">v9.0.0</a></li><li><a class="dropdown__link" href="/docs/v8.0.0/">v8.0.0</a></li><li><a class="dropdown__link" href="/docs/v7.1.0/">v7.1.0</a></li><li><a class="dropdown__link" href="/docs/v7.0.0/">v7.0.0</a></li><li><a class="dropdown__link" href="/docs/v6.0.0/">v6.0.0</a></li><li><a class="dropdown__link" href="/docs/v5.0.0/">v5.0.0</a></li><li><a class="dropdown__link" href="/docs/v4.0.0/">v4.0.0</a></li><li><a class="dropdown__link" href="/docs/v3.0.0/">v3.0.0</a></li><li><a class="dropdown__link" href="/docs/v2.0.0/">v2.0.0</a></li><li><a class="dropdown__link" href="/docs/v1.7.0/">v1.7.0</a></li><li><a class="dropdown__link" href="/docs/v1.6.2/">v1.6.2</a></li><li><a class="dropdown__link" href="/docs/v1.6.1/">v1.6.1</a></li><li><a class="dropdown__link" href="/docs/v1.6.0/">v1.6.0</a></li><li><a class="dropdown__link" href="/docs/v1.5.0/">v1.5.0</a></li><li><a class="dropdown__link" href="/docs/v1.4.1/">v1.4.1</a></li><li><a class="dropdown__link" href="/versions/">All versions</a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper mainWrapper_z2l0"><main class="container margin-vert--xl"><div class="row"><div class="col col--6 col--offset-3"><h1 class="hero__title">Page Not Found</h1><p>We could not find what you were looking for.</p><p>Please contact the owner of the site that linked you to the original URL and let them know their link is broken.</p></div></div></main></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" target="_self" href="/docs/">Introduction</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" target="_self" href="/users/">User Showcase</a></li></ul></div><div class="col footer__col"><div class="footer__title">Legal</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://opensource.facebook.com/legal/privacy/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Privacy<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opensource.facebook.com/legal/terms/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Terms<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opensource.facebook.com/legal/data-policy/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Data Policy<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opensource.facebook.com/legal/cookie-policy/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Cookie Policy<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/relay.svg" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/relay.svg" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></div><div class="footer__copyright">Copyright © 2024 Meta Platforms, Inc. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.61d2a0cd.js"></script>
<script src="/assets/js/runtime~main.861aeb16.js"></script>
<script src="/assets/js/main.6b57fb70.js"></script>
</body>
</html>
6 changes: 1 addition & 5 deletions _src/guides/relay-resolvers/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ slug: /guides/relay-resolvers/introduction
description: An introduction to Relay Resolvers
---

Relay Resolvers are a **experimental** Relay feature which allow you to augment Relay’s GraphQL graph with values that are known only on the client. This allows you to schematize client state in the same way that you model server state, and to use Relay’s familiar data-fetching APIs to access that state. Client state can include both data from client-side data stores as well as derived data that is computed from other values in the graph.
Relay Resolvers are a Relay feature which allow you to augment Relay’s GraphQL graph with values that are known only on the client. This allows you to schematize client state in the same way that you model server state, and to use Relay’s familiar data-fetching APIs to access that state. Client state can include both data from client-side data stores as well as derived data that is computed from other values in the graph.

By modeling derived and client state in the graph, Relay can present a unified data access API for product developers. All globally relevant data that a product engineer wants to access can be discovered and efficiently obtained from the same structured GraphQL schema. Additionally resolvers provide a number of runtime benefits:

Expand All @@ -27,10 +27,6 @@ Relay Resolvers are useful for modeling a number of different kinds of data. Her

## Defining a Resolver

:::warning
Because Resolvers are still an **experimental feature**, before you can begin to use Resolvers in Relay, you'll need to enable them. See [Enabling Relay Resolvers](./enabling.md) for instructions.
:::

Resolvers are defined using exported functions that are annotated with a special [`@RelayResolver` docblock](../../api-reference/relay-resolvers/docblock-format.md). These docblocks are visible to the Relay compiler, and allow the compiler to build up your client schema and automatically import your function in Relay’s generated artifacts. Resolver functions may be defined in any file in your Relay project, though you may wish to define some convention for where they live within your codebase.

The simplest resolver augments an existing type and does not have any inputs:
Expand Down
Loading

0 comments on commit 4fc9213

Please sign in to comment.