react-relay
Version:
A framework for building GraphQL-driven React applications.
35 lines (29 loc) • 1.07 kB
Flow
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
* @oncall relay
*/
;
import type {IEnvironment} from 'relay-runtime';
const ReactRelayContext = require('./../ReactRelayContext');
const invariant = require('invariant');
const {useContext} = require('react');
hook useRelayEnvironment(): IEnvironment {
const context = useContext(ReactRelayContext);
invariant(
context != null,
'useRelayEnvironment: Expected to have found a Relay environment provided by ' +
'a `RelayEnvironmentProvider` component. ' +
'This usually means that useRelayEnvironment was used in a ' +
'component that is not a descendant of a `RelayEnvironmentProvider`. ' +
'Please make sure a `RelayEnvironmentProvider` has been rendered somewhere ' +
'as a parent or ancestor of your component.',
);
return context.environment;
}
module.exports = useRelayEnvironment;