mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
b06cae3681
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
27 lines
899 B
JavaScript
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';
|