React hat die Art und Weise, wie wir Benutzeroberflächen erstellen, revolutioniert. Dieser Leitfaden führt Sie durch die wesentlichen React-Konzepte und hilft Ihnen zu verstehen, wie Sie dynamische, effiziente und wartbare Anwendungen erstellen.
JSX und dynamische Werte
Eine der Kernstärken von React ist JSX, das Ihnen die Verwendung dynamischer JavaScript-Werte in Ihrem Markup ermöglicht. Sie können Daten direkt mit geschweiften Klammern {} anzeigen, Attribute dynamisch machen und sogar Elemente mit JavaScript-Objekten formatieren.
jsxCopyconst name = "John"; const element = <h1 style={{color: 'blue'}}>Hello, {name}</h1>;
Komponenten und Fragmente
In React sind Komponenten die Bausteine Ihrer Benutzeroberfläche. Komponenten können jedoch nur ein einziges übergeordnetes Element zurückgeben. Um das Hinzufügen unnötiger DOM-Elemente zu vermeiden, können Sie React Fragments:
verwenden
jsxCopyreturn ( <> <ChildComponent1 /> <ChildComponent2 /> </> );
Requisiten und Datenfluss
Mit Requisiten können Sie Daten zwischen Komponenten übergeben. Sie sind wie benutzerdefinierte Attribute, die Sie jeder Komponente hinzufügen können:
jsxCopyfunction Greeting(props) { return <h1>Hello, {props.name}</h1>; } <Greeting name="Alice" />
Die Kinder-Requisite ist etwas Besonderes und ermöglicht es Ihnen, Komponenten als Requisiten an andere Komponenten weiterzugeben, was sich hervorragend für die Komposition und die Erstellung von Layout-Komponenten eignet.
Schlüssel in Listen
Beim Rendern von Listen in React sollte jedes Element über eine eindeutige Schlüsselstütze verfügen. Dadurch kann React erkennen, welche Elemente geändert, hinzugefügt oder entfernt wurden:
jsxCopyconst listItems = items.map((item) => <li key={item.id}>{item.name}</li> );
Rendering und das virtuelle DOM
React verwendet ein virtuelles DOM, um die Benutzeroberfläche effizient zu aktualisieren. Wenn sich der Status Ihrer App ändert, aktualisiert React das virtuelle DOM, vergleicht es mit der vorherigen Version (Diffing) und aktualisiert dann das reale DOM nur bei Bedarf (Abgleich).
Ereignisbehandlung
React bietet eine einfache Möglichkeit, Benutzerereignisse zu verarbeiten:
jsxCopyfunction handleClick() { alert('Button clicked!'); } <button onClick={handleClick}>Click me</button>
Staatsverwaltung
Der Status stellt die Daten in Ihrer App dar, die sich im Laufe der Zeit ändern können. In Funktionskomponenten können Sie den useState-Hook verwenden, um den Status zu verwalten:
jsxCopyconst [count, setCount] = useState(0); <button onClick={() => setCount(count + 1)}> Clicks: {count} </button>
Kontrollierte Komponenten
In kontrollierten Komponenten werden Formulardaten vom React-Status verarbeitet:
jsxCopyconst [value, setValue] = useState(''); <input value={value} onChange={(e) => setValue(e.target.value)} />
React Hooks
Mit Hooks können Sie Status- und andere React-Funktionen in Funktionskomponenten verwenden. Einige wichtige Haken sind:
useState zum Verwalten des Status
useEffect für Nebenwirkungen
useContext zum Konsumieren von Kontext
useRef zum Referenzieren von DOM-Elementen
useMemo und useCallback zur Leistungsoptimierung
Reine Komponenten
Reaktionskomponenten sollten reine Funktionen ihrer Requisiten und ihres Zustands sein. Sie sollten keine externen Variablen oder Objekte ändern, die vor dem Rendern vorhanden waren.
Nebenwirkungen bei useEffect
Mit dem useEffect-Hook können Sie Nebenwirkungen in Funktionskomponenten ausführen:
jsxCopyuseEffect(() => { document.title = `You clicked ${count} times`; }, [count]);
Refs und das DOM
Refs bieten eine Möglichkeit, auf DOM-Knoten oder React-Elemente zuzugreifen:
jsxCopyconst inputRef = useRef(null); <input ref={inputRef} />
Kontext für Deep Data Passing
Der Kontext bietet eine Möglichkeit, Daten durch den Komponentenbaum zu leiten, ohne Requisiten auf jeder Ebene manuell weitergeben zu müssen:
jsxCopyconst ThemeContext = React.createContext('light'); function App() { return ( <ThemeContext.Provider value="dark"> <ThemedButton /> </ThemeContext.Provider> ); }
Portale, Spannung und Fehlergrenzen
Portale ermöglichen es Ihnen, eine Komponente in einen anderen Teil des DOM-Baums zu rendern.
Mit Suspense können Sie Fallback-Inhalte festlegen, während Komponenten geladen werden.
Fehlergrenzen sind Komponenten, die JavaScript-Fehler an einer beliebigen Stelle in ihrem untergeordneten Komponentenbaum abfangen und eine Fallback-Benutzeroberfläche anzeigen.
Wenn Sie diese Konzepte beherrschen, sind Sie auf dem besten Weg, ein kompetenter React-Entwickler zu werden. Denken Sie daran, dass Übung der Schlüssel zur Festigung Ihres Verständnisses dieser Prinzipien ist.
Das obige ist der detaillierte Inhalt vonKernkonzepte von React, die jeder Entwickler kennen sollte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!