Skip to content

Commit 3a9e9ff

Browse files
committed
[crud] Basic implementation (#31523)
This PR introduces a new experimental hook `useResourceEffect`, which is something that we're doing some very early initial tests on. This may likely not pan out and will be removed or modified if so. Please do not rely on it as it will break. DiffTrain build for [047d95e](047d95e)
1 parent 215cf14 commit 3a9e9ff

35 files changed

+56123
-51319
lines changed

compiled/facebook-www/REVISION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
92c0f5f85fed42024b17bf6595291f9f5d6e8734
1+
047d95e85f0f0cfa6085b2e355e052a3c34ae24d
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
92c0f5f85fed42024b17bf6595291f9f5d6e8734
1+
047d95e85f0f0cfa6085b2e355e052a3c34ae24d

compiled/facebook-www/React-dev.classic.js

+19-1
Original file line numberDiff line numberDiff line change
@@ -1040,6 +1040,8 @@ __DEV__ &&
10401040
enableDebugTracing = dynamicFeatureFlags.enableDebugTracing,
10411041
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
10421042
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
1043+
enableUseResourceEffectHook =
1044+
dynamicFeatureFlags.enableUseResourceEffectHook,
10431045
renameElementSymbol = dynamicFeatureFlags.renameElementSymbol,
10441046
REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"),
10451047
REACT_ELEMENT_TYPE = renameElementSymbol
@@ -1577,6 +1579,22 @@ __DEV__ &&
15771579
exports.experimental_useEffectEvent = function (callback) {
15781580
return resolveDispatcher().useEffectEvent(callback);
15791581
};
1582+
exports.experimental_useResourceEffect = function (
1583+
create,
1584+
createDeps,
1585+
update,
1586+
updateDeps,
1587+
destroy
1588+
) {
1589+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
1590+
return resolveDispatcher().useResourceEffect(
1591+
create,
1592+
createDeps,
1593+
update,
1594+
updateDeps,
1595+
destroy
1596+
);
1597+
};
15801598
exports.forwardRef = function (render) {
15811599
null != render && render.$$typeof === REACT_MEMO_TYPE
15821600
? error$jscomp$0(
@@ -1819,7 +1837,7 @@ __DEV__ &&
18191837
exports.useTransition = function () {
18201838
return resolveDispatcher().useTransition();
18211839
};
1822-
exports.version = "19.0.0-www-classic-92c0f5f8-20241115";
1840+
exports.version = "19.0.0-www-classic-047d95e8-20241118";
18231841
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
18241842
"function" ===
18251843
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-dev.modern.js

+19-1
Original file line numberDiff line numberDiff line change
@@ -1040,6 +1040,8 @@ __DEV__ &&
10401040
enableDebugTracing = dynamicFeatureFlags.enableDebugTracing,
10411041
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
10421042
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
1043+
enableUseResourceEffectHook =
1044+
dynamicFeatureFlags.enableUseResourceEffectHook,
10431045
renameElementSymbol = dynamicFeatureFlags.renameElementSymbol,
10441046
REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"),
10451047
REACT_ELEMENT_TYPE = renameElementSymbol
@@ -1577,6 +1579,22 @@ __DEV__ &&
15771579
exports.experimental_useEffectEvent = function (callback) {
15781580
return resolveDispatcher().useEffectEvent(callback);
15791581
};
1582+
exports.experimental_useResourceEffect = function (
1583+
create,
1584+
createDeps,
1585+
update,
1586+
updateDeps,
1587+
destroy
1588+
) {
1589+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
1590+
return resolveDispatcher().useResourceEffect(
1591+
create,
1592+
createDeps,
1593+
update,
1594+
updateDeps,
1595+
destroy
1596+
);
1597+
};
15801598
exports.forwardRef = function (render) {
15811599
null != render && render.$$typeof === REACT_MEMO_TYPE
15821600
? error$jscomp$0(
@@ -1819,7 +1837,7 @@ __DEV__ &&
18191837
exports.useTransition = function () {
18201838
return resolveDispatcher().useTransition();
18211839
};
1822-
exports.version = "19.0.0-www-modern-92c0f5f8-20241115";
1840+
exports.version = "19.0.0-www-modern-047d95e8-20241118";
18231841
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
18241842
"function" ===
18251843
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-prod.classic.js

+18-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ var dynamicFeatureFlags = require("ReactFeatureFlags"),
1616
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
1717
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
1818
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
19+
enableUseResourceEffectHook = dynamicFeatureFlags.enableUseResourceEffectHook,
1920
renameElementSymbol = dynamicFeatureFlags.renameElementSymbol,
2021
REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"),
2122
REACT_ELEMENT_TYPE = renameElementSymbol
@@ -497,6 +498,22 @@ exports.createRef = function () {
497498
exports.experimental_useEffectEvent = function (callback) {
498499
return ReactSharedInternals.H.useEffectEvent(callback);
499500
};
501+
exports.experimental_useResourceEffect = function (
502+
create,
503+
createDeps,
504+
update,
505+
updateDeps,
506+
destroy
507+
) {
508+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
509+
return ReactSharedInternals.H.useResourceEffect(
510+
create,
511+
createDeps,
512+
update,
513+
updateDeps,
514+
destroy
515+
);
516+
};
500517
exports.forwardRef = function (render) {
501518
return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
502519
};
@@ -619,4 +636,4 @@ exports.useSyncExternalStore = function (
619636
exports.useTransition = function () {
620637
return ReactSharedInternals.H.useTransition();
621638
};
622-
exports.version = "19.0.0-www-classic-92c0f5f8-20241115";
639+
exports.version = "19.0.0-www-classic-047d95e8-20241118";

compiled/facebook-www/React-prod.modern.js

+18-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ var dynamicFeatureFlags = require("ReactFeatureFlags"),
1616
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
1717
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
1818
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
19+
enableUseResourceEffectHook = dynamicFeatureFlags.enableUseResourceEffectHook,
1920
renameElementSymbol = dynamicFeatureFlags.renameElementSymbol,
2021
REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"),
2122
REACT_ELEMENT_TYPE = renameElementSymbol
@@ -497,6 +498,22 @@ exports.createRef = function () {
497498
exports.experimental_useEffectEvent = function (callback) {
498499
return ReactSharedInternals.H.useEffectEvent(callback);
499500
};
501+
exports.experimental_useResourceEffect = function (
502+
create,
503+
createDeps,
504+
update,
505+
updateDeps,
506+
destroy
507+
) {
508+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
509+
return ReactSharedInternals.H.useResourceEffect(
510+
create,
511+
createDeps,
512+
update,
513+
updateDeps,
514+
destroy
515+
);
516+
};
500517
exports.forwardRef = function (render) {
501518
return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
502519
};
@@ -619,4 +636,4 @@ exports.useSyncExternalStore = function (
619636
exports.useTransition = function () {
620637
return ReactSharedInternals.H.useTransition();
621638
};
622-
exports.version = "19.0.0-www-modern-92c0f5f8-20241115";
639+
exports.version = "19.0.0-www-modern-047d95e8-20241118";

compiled/facebook-www/React-profiling.classic.js

+18-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var dynamicFeatureFlags = require("ReactFeatureFlags"),
2020
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
2121
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
2222
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
23+
enableUseResourceEffectHook = dynamicFeatureFlags.enableUseResourceEffectHook,
2324
renameElementSymbol = dynamicFeatureFlags.renameElementSymbol,
2425
REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"),
2526
REACT_ELEMENT_TYPE = renameElementSymbol
@@ -501,6 +502,22 @@ exports.createRef = function () {
501502
exports.experimental_useEffectEvent = function (callback) {
502503
return ReactSharedInternals.H.useEffectEvent(callback);
503504
};
505+
exports.experimental_useResourceEffect = function (
506+
create,
507+
createDeps,
508+
update,
509+
updateDeps,
510+
destroy
511+
) {
512+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
513+
return ReactSharedInternals.H.useResourceEffect(
514+
create,
515+
createDeps,
516+
update,
517+
updateDeps,
518+
destroy
519+
);
520+
};
504521
exports.forwardRef = function (render) {
505522
return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
506523
};
@@ -623,7 +640,7 @@ exports.useSyncExternalStore = function (
623640
exports.useTransition = function () {
624641
return ReactSharedInternals.H.useTransition();
625642
};
626-
exports.version = "19.0.0-www-classic-92c0f5f8-20241115";
643+
exports.version = "19.0.0-www-classic-047d95e8-20241118";
627644
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
628645
"function" ===
629646
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-profiling.modern.js

+18-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var dynamicFeatureFlags = require("ReactFeatureFlags"),
2020
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
2121
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
2222
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
23+
enableUseResourceEffectHook = dynamicFeatureFlags.enableUseResourceEffectHook,
2324
renameElementSymbol = dynamicFeatureFlags.renameElementSymbol,
2425
REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"),
2526
REACT_ELEMENT_TYPE = renameElementSymbol
@@ -501,6 +502,22 @@ exports.createRef = function () {
501502
exports.experimental_useEffectEvent = function (callback) {
502503
return ReactSharedInternals.H.useEffectEvent(callback);
503504
};
505+
exports.experimental_useResourceEffect = function (
506+
create,
507+
createDeps,
508+
update,
509+
updateDeps,
510+
destroy
511+
) {
512+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
513+
return ReactSharedInternals.H.useResourceEffect(
514+
create,
515+
createDeps,
516+
update,
517+
updateDeps,
518+
destroy
519+
);
520+
};
504521
exports.forwardRef = function (render) {
505522
return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
506523
};
@@ -623,7 +640,7 @@ exports.useSyncExternalStore = function (
623640
exports.useTransition = function () {
624641
return ReactSharedInternals.H.useTransition();
625642
};
626-
exports.version = "19.0.0-www-modern-92c0f5f8-20241115";
643+
exports.version = "19.0.0-www-modern-047d95e8-20241118";
627644
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
628645
"function" ===
629646
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)