Files
react-native/Libraries/ReactNative/RendererProxy.js
T
Rubén Norte b06cae3681 Extract use of renderer to its own module
Summary:
This diff creates a proxy module to interact with the React Native renderer. The goal of this proxy is to decouple usages of several functions (e.g.: `findNodeHandle`, etc.) from the actual renderer used in an app. This way, we can easily switch between renderers without having to change code depending on it.

This will be useful to remove a specific renderer from an app bundle when it's no longer used (e.g.: Paper on the Facebook App).

Changelog: [Internal]

Reviewed By: javache

Differential Revision: D39205975

fbshipit-source-id: 05289c0c3c8cd26d81aa1d2163097c73ec40c6ad
2022-09-08 11:12:06 -07:00

27 lines
899 B
JavaScript

/**
* 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.
*
* @format
* @flow strict-local
*/
/**
* This module exists to allow apps to select their renderer implementation
* (e.g.: Fabric-only, Paper-only) without having to pull all the renderer
* implementations into their app bundle, which affects app size.
*
* By default, the setup will be:
* -> RendererProxy
* -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)
*
* But this will allow a setup like this without duplicating logic:
* -> RendererProxy (fork)
* -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)
* or -> OtherImplementation (which uses Fabric only)
*/
export * from './RendererImplementation';