diff --git a/.eslintrc.js b/.eslintrc.js index 8f88ba30a07bf..715c6eb96074a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -116,13 +116,8 @@ module.exports = { 'react-internal/no-cross-fork-types': [ ERROR, { - old: [ - 'firstEffect', - 'nextEffect', - // Disabled because it's also used by the Hook type. - // 'lastEffect', - ], - new: ['subtreeFlags'], + old: [], + new: [], }, ], }, @@ -190,7 +185,7 @@ module.exports = { { files: [ 'packages/react-native-renderer/**/*.js', - 'packages/react-transport-native-relay/**/*.js' + 'packages/react-transport-native-relay/**/*.js', ], globals: { nativeFabricUIManager: true, diff --git a/packages/react-reconciler/src/ReactFiber.new.js b/packages/react-reconciler/src/ReactFiber.new.js index 0dcff2f776fb4..ccad1371d8f40 100644 --- a/packages/react-reconciler/src/ReactFiber.new.js +++ b/packages/react-reconciler/src/ReactFiber.new.js @@ -141,6 +141,10 @@ function FiberNode( // Effects this.flags = NoFlags; + this.nextEffect = null; + + this.firstEffect = null; + this.lastEffect = null; this.subtreeFlags = NoFlags; this.deletions = null; @@ -805,6 +809,9 @@ export function assignFiberPropertiesInDEV( target.dependencies = source.dependencies; target.mode = source.mode; target.flags = source.flags; + target.nextEffect = source.nextEffect; + target.firstEffect = source.firstEffect; + target.lastEffect = source.lastEffect; target.subtreeFlags = source.subtreeFlags; target.deletions = source.deletions; target.lanes = source.lanes; diff --git a/packages/react-reconciler/src/ReactFiber.old.js b/packages/react-reconciler/src/ReactFiber.old.js index 57c421e9076a5..56ef2f5a528ab 100644 --- a/packages/react-reconciler/src/ReactFiber.old.js +++ b/packages/react-reconciler/src/ReactFiber.old.js @@ -145,6 +145,8 @@ function FiberNode( this.firstEffect = null; this.lastEffect = null; + this.subtreeFlags = NoFlags; + this.deletions = null; this.lanes = NoLanes; this.childLanes = NoLanes; @@ -284,6 +286,8 @@ export function createWorkInProgress(current: Fiber, pendingProps: any): Fiber { workInProgress.nextEffect = null; workInProgress.firstEffect = null; workInProgress.lastEffect = null; + workInProgress.subtreeFlags = NoFlags; + workInProgress.deletions = null; if (enableProfilerTimer) { // We intentionally reset, rather than copy, actualDuration & actualStartTime. @@ -372,6 +376,7 @@ export function resetWorkInProgress(workInProgress: Fiber, renderLanes: Lanes) { workInProgress.lanes = renderLanes; workInProgress.child = null; + workInProgress.subtreeFlags = NoFlags; workInProgress.memoizedProps = null; workInProgress.memoizedState = null; workInProgress.updateQueue = null; @@ -392,6 +397,8 @@ export function resetWorkInProgress(workInProgress: Fiber, renderLanes: Lanes) { workInProgress.lanes = current.lanes; workInProgress.child = current.child; + workInProgress.subtreeFlags = current.subtreeFlags; + workInProgress.deletions = null; workInProgress.memoizedProps = current.memoizedProps; workInProgress.memoizedState = current.memoizedState; workInProgress.updateQueue = current.updateQueue; @@ -814,6 +821,8 @@ export function assignFiberPropertiesInDEV( target.nextEffect = source.nextEffect; target.firstEffect = source.firstEffect; target.lastEffect = source.lastEffect; + target.subtreeFlags = source.subtreeFlags; + target.deletions = source.deletions; target.lanes = source.lanes; target.childLanes = source.childLanes; target.alternate = source.alternate;