Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've tried to add a failing test for the issue described here.
#17314
If you run it locally, and change
isMemo
to be false, the test will pass. The test will also pass if you change the line toconst MemodSubbed = isMemo ? React.memo(Subbed, () => true) : Subbed;
Below are my half-hearted attempts to look into this bug.
It looks like when the
compare
function is defined it makes React callcreateFiberFromTypeAndProps
. However, if thecompare
function is not defined, it means React goes down the codepath below;https://github.com/facebook/react/blob/master/packages/react-reconciler/src/ReactFiberBeginWork.js#L380-L403
In other words, the bug is likely caused somewhere in
updateSimpleMemoComponent