mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Clone on mount
This is the first step towards descriptors. This will start cloning the component when it's mounted instead of mounting the first instance. This avoids an issue where a reference to the first instance can hang around in props. Since a mounted component gets mutated, the descriptor changes. We don't need to clone the props object itself. Mutating the shallow props object of a child that's passed into you is already flawed. Those cases need to use cloneWithProps. A props object is considered shallow frozen after it leaves the render it was created in.
This commit is contained in:
committed by
Paul O’Shannessy
parent
2ca810fbf3
commit
3ea3274ca4
@@ -126,7 +126,8 @@ var traverseAllChildrenImpl =
|
||||
// All of the above are perceived as null.
|
||||
callback(traverseContext, null, storageName, indexSoFar);
|
||||
subtreeCount = 1;
|
||||
} else if (children.mountComponentIntoNode) {
|
||||
} else if (children.type && children.type.prototype &&
|
||||
children.type.prototype.mountComponentIntoNode) {
|
||||
callback(traverseContext, children, storageName, indexSoFar);
|
||||
subtreeCount = 1;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user