Ich habe gerade angefangen, reagieren js von der offiziellen Website und es gibt diesen Schritt in der Anleitung, in der, um eine funktionierende Uhr machen Sie eine Funktion zu machen in eine Klasse. Meine Frage ist, dass, weil es mit einem viel einfacheren Weg getan werden kann, warum würde jemand das tun?Warum sollte jemand eine Funktion in eine Klasse in Reaktion js
Antwort
Wenn Sie den Zugriff auf alle Funktionen React.Component
erhalten möchten wie props
und state
, life cycle methods, ref
und much more, würden Sie extend
von React.Component
benötigen.
können Sie tun nur, dass mit einer class
(in ES6
)
bearbeiten
Nur eine Sache können Sie auch auf Requisiten zugreifen
Das ist nicht wahr, eine Funktion deklarieren Tatsächlich sind zustandslose Komponenten nur Funktionen, die jsx
zurückgeben. Sie sind normale, reguläre Funktionen, die Parameter akzeptieren.
Wir verwenden manchmal das props
Schlüsselwort als ein Parameter nur als Gewohnheit oder Konvention, aber Sie können verwenden, welches Schlüsselwort Sie wollen.
Beispiel:
const MyHeader = (myParams) => (
// no props here
<h2>{myParams.value}</h2>
);
class MyApp extends React.Component{
render(){
const {message} = this.props; // i get access to this.props as i extended React.Component
return(<MyHeader value={message} />);
}
}
ReactDOM.render(<MyApp message="Hello!" />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
Nur eine Sache, Sie können auch auf Requisiten zugreifen, um eine Funktion zu deklarieren. – RMontes13
Nein, Sie können nicht, da es keine "Requisiten" in Funktionen gibt nur reguläre normale Parameter. Wir nennen es "Requisiten" als Konvention, wenn Sie es an das JSX-Element übergeben, aber innerhalb Ihrer Funktionskomponente sind es nur normale Parameter, die jede andere Funktion empfängt. –
- 1. Laden Sie eine Datei in Reaktion js
- 2. Warum sollte jemand !! in Javascript?
- 3. Warum sollte jemand Collections.emptyList in Java verwenden?
- 4. Warum sollte ich main() in eine dedizierte Klasse einfügen?
- 5. eine js Funktion auslösen, eine Funktion in meinem Controller
- 6. Warum sollte eine virtuelle Funktion privat sein?
- 7. in rekursive Funktion, Reaktion
- 8. JS eine Funktion in Swift
- 9. Discord js In Reaktion auf eine Bot Nachricht
- 10. In Reaktion definiere ich eine Funktion, aber es erscheint undefine
- 11. Warum sollte ich const und & while deklarieren Klasse in Funktion?
- 12. Wann sollte eine Klasse eine Schnittstelle implementieren?
- 13. Benutzerdefinierter Wert für eine Funktion in JS
- 14. Sollte `Phone` eine Klasse oder eine Struktur in C# sein?
- 15. Warum sollte jemand verwenden ‚‘ .join() Python 2.7
- 16. Erstellen einer Funktion, die eine Komponente liefert in Reaktion
- 17. Warum sollte jemand Heroku (sicherheitsbezogen) verwenden?
- 18. Eine Funktion in C++ - Klasse neu deklarieren
- 19. Sehr einfache Uhr in Reaktion js
- 20. Wie man eine Funktion in JS macht
- 21. Warum sollte ich einer Variablen eine anonyme Funktion zuweisen?
- 22. Angezeigt für Filtermethode Warnung in Reaktion js
- 23. Beispiel warum sollte jemand Triple-Zeiger in C/C++ verwenden?
- 24. Warum sollte in diesem Fall eine ConcurrentQueue verwendet werden?
- 25. API Anruf in einer Reaktion JS Geige
- 26. Warum sollte jemand zwei Shebangs in einem Shell-Skript verwenden?
- 27. Warum sollte die Schnittstelle für eine Java-Klasse bevorzugt werden?
- 28. Sollte eine Klasse eine Sammlung von sich selbst enthalten?
- 29. Wrapping JS Promisies in eine Funktion
- 30. Eine Funktion in JS mit Parameterübergabe
In Reaktion, benötigen Sie eine Klasse Komponente, wenn Sie Lifecycle-Methoden reagieren wollen (oder ein ref zu einem DOM-Elemente). Der Unterschied besteht also darin, wie React die Funktion oder Klasse verwendet. –
Wenn Sie eine Komponente erstellen müssen, ohne einen Status für sie erstellen zu müssen (die zustandslose Komponente genannt wird), ist es einfacher, sie mit einer Funktion zu erstellen. Wenn Sie jedoch eine Komponente erstellen, die einen Status benötigt, müssen Sie Klassen dafür verwenden. – Atef