mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
[rcr] Re-export useMemoCache in top level React namespace (#31139)
In order to support using the compiler on versions of React prior to 19, we need the ability to statically import `c` (aka useMemoCache) or fallback to a polyfill supplied by `react-compiler-runtime` (note: this is a separate npm package, not to be confused with `react/compiler-runtime`, which is currently a part of react). To do this we first need to re-export `useMemoCache` under the top level React namespace again, which is additive and thus non-breaking. Doing so allows `react-compiler-runtime` to statically either re-export `React.__COMPILER_RUNTIME.c` or supply a polyfill, without the need for a dynamic import which is finicky to support due to returning a promise. In later PRs I will remove `react/compiler-runtime` and update the compiler to emit imports to `react-compiler-runtime` instead.
This commit is contained in:
@@ -30,6 +30,7 @@ export type ChildrenArray<+T> = $ReadOnlyArray<ChildrenArray<T>> | T;
|
||||
// We can't use export * from in Flow for some reason.
|
||||
export {
|
||||
__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
|
||||
__COMPILER_RUNTIME,
|
||||
Children,
|
||||
Component,
|
||||
Fragment,
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
export {
|
||||
__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
|
||||
__COMPILER_RUNTIME,
|
||||
Children,
|
||||
Component,
|
||||
Fragment,
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
export {
|
||||
__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
|
||||
__COMPILER_RUNTIME,
|
||||
Children,
|
||||
Component,
|
||||
Fragment,
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
export {
|
||||
__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
|
||||
__COMPILER_RUNTIME,
|
||||
act,
|
||||
cache,
|
||||
Children,
|
||||
|
||||
@@ -31,6 +31,7 @@ export type ChildrenArray<+T> = $ReadOnlyArray<ChildrenArray<T>> | T;
|
||||
// We can't use export * from in Flow for some reason.
|
||||
export {
|
||||
__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
|
||||
__COMPILER_RUNTIME,
|
||||
Children,
|
||||
Component,
|
||||
Fragment,
|
||||
|
||||
@@ -63,6 +63,7 @@ import ReactSharedInternals from './ReactSharedInternalsClient';
|
||||
import {startTransition} from './ReactStartTransition';
|
||||
import {act} from './ReactAct';
|
||||
import {captureOwnerStack} from './ReactOwnerStack';
|
||||
import ReactCompilerRuntime from './ReactCompilerRuntime';
|
||||
|
||||
const Children = {
|
||||
map,
|
||||
@@ -109,6 +110,7 @@ export {
|
||||
isValidElement,
|
||||
ReactVersion as version,
|
||||
ReactSharedInternals as __CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
|
||||
ReactCompilerRuntime as __COMPILER_RUNTIME,
|
||||
// Concurrent Mode
|
||||
useTransition,
|
||||
startTransition,
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
|
||||
import {useMemoCache} from './ReactHooks';
|
||||
|
||||
export default {
|
||||
c: useMemoCache,
|
||||
};
|
||||
Reference in New Issue
Block a user