mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Update on "[compiler] Add wrapper functions to wrap change-detection storage and loading from the memo cache"
Summary: We may wish to perform some additional computation on values when they enter or exit the memo cache in change detection mode (e.g. make a deep copy, restore the original value). This builds support for doing so. In addition, it drops the "ForDebugging" part of the flag name and makes it compatible with "disableMemoization": if memoization is disabled, we implement that by not restoring the old version of the value unless we're in a source-level memo block. [ghstack-poisoned]
This commit is contained in:
+3
-1
@@ -274,12 +274,14 @@ function mayHaveChanged(env: Environment, instruction: Instruction): boolean {
|
||||
case "GetIterator":
|
||||
case "IteratorNext":
|
||||
case "NextPropertyOf":
|
||||
case "PropertyLoad":
|
||||
case "CallExpression":
|
||||
case "MethodCall":
|
||||
case "NewExpression": {
|
||||
return true;
|
||||
}
|
||||
case "PropertyLoad": {
|
||||
return instruction.value.property !== "current"
|
||||
}
|
||||
case "LoadGlobal": {
|
||||
return (
|
||||
instruction.value.binding.kind === "ModuleLocal" &&
|
||||
|
||||
Reference in New Issue
Block a user