Ich lese oft, dass ich 'Stateless Function Components' verwenden sollte, wenn möglich, aber meistens ohne irgendeine Erklärung warum. Was sind die Vorteile?Was sind die Vorteile von "Stateless Function Components" gegenüber "ES6 Class Components"?
Antwort
Erstens werden zustandslose Funktionskomponenten schneller gerendert, da es in der React-Rendering-Pipeline einen optimierten Kurzpfad dafür gibt.
Zweitens ist der Code viel sauberer, da Sie weniger tippen und es gibt fast kein visuelles Rauschen. Wenn Sie moderne JS verwenden, natürlich. Check it out, ich definiere einen „custom tag“:
const MyFancyDiv = ({ children, ...otherProps }) => (
<div { ...otherProps } className='i-am-fancy-wrapper'>
{ children }
</div>
);
Für alles, was nicht einen Zustand, den Kontext hat, oder benutzerdefinierte Lifecycle Methoden, dies ist der bevorzugte Weg.
Und es ist eigentlich die Funktion von React, die es sehr schwierig für andere Rahmen zu schlagen ist. Verwenden Sie es, wenn Sie können.
Kein Vorteil, aber vielleicht erwähnenswert: Funktionelle Komponenten haben keine Instanzen. Klassenkomponenten haben Instanzen, aber Sie müssen nie direkt eine Komponenteninstanz erstellen - React kümmert sich darum. –
Ja, das ist einer der Gründe, warum sie schneller gerendert werden. Keine Instanzen, keine Lebenszyklus-Hooks, vereinfachter Rendering-Pfad. – gaperton
- 1. Zwei Möglichkeiten zum Definieren von ES6 React Components
- 2. Web Components bereit Flagge
- 3. Injecting components Angularjs2
- 4. Sass Importing bower components
- 5. Was sind die Vorteile von QAbstractItemModel gegenüber QStandardItemModel?
- 6. Was sind die Vorteile von Google Fonts gegenüber Cufon?
- 7. Was sind die Vorteile von Bytecode gegenüber nativem Code?
- 8. Was sind die Vorteile von concurrent.futures gegenüber Multiprocessing in Python?
- 9. Flex Custom Components Tutorial
- 10. ASP.NET MVC "Components"
- 11. Swift - PickerView Components 'Trennzeichen
- 12. Zugriff auf Windows Form Components
- 13. OM Components vs einfache Funktionen
- 14. Sind die Office Web Components defekt und tot?
- 15. Adobe CQ Components, die untergeordnete Komponenten einschränken
- 16. Was sind die Vorteile eines Powershell-Skripts gegenüber einer Konsolenanwendung?
- 17. Mocking Components mit Angular 2
- 18. ES6 class store
- 19. Entfernen Sie unnötige Bereiche von Swings Components
- 20. Funktionieren die Office Web Components in IE9?
- 21. Vorteile von MySQL gegenüber MySQL
- 22. React Components und Overriding Twitter Bootstrap-Stile
- 23. Rendern von React Components Client-Seite über WordPress WP-API
- 24. Was sind die Vorteile der Kotlin Programmiersprache?
- 25. Was sind Vorteile einer Twitter-Zukunft gegenüber einer Scala-Zukunft?
- 26. React Components - Wo HTML-Templates gespeichert werden
- 27. Vorteile von MemoryPoolMXBean.getUsage() gegenüber Runtime.freeMemory()
- 28. Vorteile von Parcelable gegenüber JSON
- 29. Was sind die Vorteile von "Staircase" Branching?
- 30. Was sind die Vorteile von Conduit-Resten?
Googeln dieser beiden Phrasen jeder kam mit [diesem Artikel] (https://facebook.github.io/react/docs/reusable-components.html) als erstes Ergebnis. Es listet die Vorteile auf. Dies ist jedoch für SO zu weit gefasst. Vielleicht solltest du einige Artikel lesen und dann zurückkommen und erklären, was du weißt und nicht weißt. – 4castle
Ich habe diesen Artikel gelesen. Sie gaben nur so wenig Informationen über die Vorteile. Ich denke, es wäre hilfreich für mich und andere, mehr Details von SO darauf zu bekommen. – Rotareti
Interessant. "Auf Eis gelegt". Das ist eine völlig gültige und normale Frage. Gute Antwort ist kurz, und es gibt nicht "zu viele" von ihnen (sehen Sie tatsächlich "zu viele Antworten" oder etwas, das "zu lang" ist? Keines davon). – gaperton