[Question] about "._owner.alternate"
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 11.8k
- Forks
- 7.9k
- Ø Merge
- 1 T. 11 Std.
- Gemergte PRs (30 T.)
- 11
Beschreibung
It seems that in react@16 every React element children contains cyclic property ._owner.alternate.alternate.alternate.alternate....

So it is easy to cause "Maximum call stack exceeded" error when developer compares props.children in deep way(like deep-equal).
This caused bugs for community libraries like react-helmet:
https://github.com/nfl/react-helmet/issues/441
I am extremely curious about:
Why React has _owner.alternate, and what it stands for?
As it is named as “_owner”, could it be better if we make “owner” not enumerable?
I tried to search source code and but still can’t find any clue.
Thanks in advance.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Es wird keine Datei und kein Test genannt. Beginne damit, den React-16-Quellcode nachzuverfolgen, der Element-Kinder und die Kette _owner.alternate erstellt, und prüfe anschließend das verknüpfte react-helmet issue 441. Als erledigt gilt die Dokumentation dessen, was _owner.alternate darstellt, sowie die Klärung, ob die Bedenken hinsichtlich des enumerable owner eine dokumentierte Änderung erfordern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, react
- Bereich
- documentation
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100