Improve/create documentation for ReactTestUtils.renderIntoDocument()
Nessuno ha ancora preso questa issue.
- Lingua principale
- JavaScript
- Stelle
- 11.8k
- Fork
- 7.9k
- Merge medio
- 1g 11h
- PR unite (30g)
- 11
Descrizione
This issue was originally reported by @the-spyke via facebook/react/issues/10330
There is almost none documentation about how to actually use .renderIntoDocument() method. I can't find find answers on those questions on Jest's website or enzyme's (I know that it's not Facebook) either.
- If I render a component into a DOM in a test, how will it be destroyed?
- Should I clean up by myself?
- What tools to use for this?
- Just
.unmountComponentAtNode()? - Where I will get the container to pass in?
- What about additional component trees like in Popovers?
- What are the best ways to test that there aren't any parts left after my component were unmounted?
It will be nice to see such information before people will met memory leaks in their tests, and also help to establish good practices for writing tests.
Additional notes:
- Calling
.renderIntoDocument()returns you an instance - This instance was rendered into freshly created DOM element, which now represents a detached tree
- There's also a reference to the instance in ReactDOM's internal map
- So, even if you remove all your references to this instance, on every call to
.renderIntoDocument()you will get 1 detached tree hanging in memory + 1 instance of a React component with all its props not available for garbage collection
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalla documentazione collegata di Test Utils per renderIntoDocument() e analizza il relativo punto di ingresso unmountComponentAtNode(). Documenta come vengono ripuliti l’albero DOM scollegato e l’istanza del componente, da dove proviene il contenitore, come vengono gestiti gli alberi aggiuntivi e come i test possono verificare la pulizia.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, react
- Ambito
- documentation
- Tipo di issue
- Documentazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100