Dieser Blog wurde ursprünglich auf Medium gepostet
Hallo, liebe React-Enthusiasten! Ich habe mich kürzlich eingehend mit der React-Dokumentation befasst und möchte meine Erkenntnisse mit Ihnen teilen. Dies ist eine prägnante Minimalanleitung für diejenigen, die eine solide Grundlage in React aufbauen möchten. Lassen Sie uns die Kernkonzepte mit einfachen Erklärungen und Codeausschnitten aufschlüsseln.
Dies wird eine etwas längere Geschichte, aber bitte warten Sie, bis Sie alle Kernkonzepte von React auf einmal verstehen. Es wird Ihnen nützlich sein, diese Konzepte noch einmal zusammenzufassen und noch einmal durchzugehen, um weitere Fortschritte zu erzielen.
Bei React geht es darum, Ihre Benutzeroberfläche in wiederverwendbare Komponenten zu unterteilen. Beginnen Sie beim Erstellen einer React-App mit:
Referenz: https://react.dev/learn/thinking-in-react
Komponenten sind die Bausteine von React-Anwendungen. Sie können funktional oder klassenbasiert sein (altmodisch, nicht empfohlen). JSX ist eine Syntaxerweiterung, mit der Sie HTML-ähnlichen Code in Ihr JavaScript schreiben können.
function Welcome(props) { return <h1>Hello, {props.name}</h1>; }
Referenzen:
Requisiten sind die Art und Weise, wie wir Daten von übergeordneten an untergeordnete Komponenten übergeben. Sie sind schreibgeschützt und tragen dazu bei, dass unsere Komponenten rein bleiben.
function Greeting(props) { return <p>Welcome, {props.username}!</p>; } // Usage <Greeting username="Alice" />
Referenz: https://react.dev/learn/passing-props-to-a-component
Mit React können Sie Komponenten oder Elemente basierend auf bestimmten Bedingungen bedingt rendern.
function UserGreeting(props) { return props.isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign in.</h1>; }
Referenz: https://react.dev/learn/conditional-rendering
Verwenden Sie die Funktion „map()“, um Listen von Elementen in React zu rendern. Vergessen Sie nicht, jedem Artikel einen eindeutigen Schlüssel hinzuzufügen.
function FruitList(props) { const fruits = props.fruits; return ( <ul> {fruits.map((fruit) => ( <li key={fruit.id}>{fruit.name}</li> ))} </ul> ); }
Referenz: https://react.dev/learn/rendering-lists
Reine Komponenten rendern immer die gleiche Ausgabe für die gleichen Requisiten und den gleichen Zustand. Sie sind vorhersehbar und einfacher zu testen.
function Welcome(props) { return <h1>Hello, {props.name}</h1>; }
Referenz: https://react.dev/learn/keeping-components-pure
React erstellt und verwaltet eine interne Darstellung Ihrer Benutzeroberfläche, die als virtuelles DOM bezeichnet wird. Dadurch kann React effizient nur die Teile des tatsächlichen DOM aktualisieren, die sich geändert haben.
Referenz: https://react.dev/learn/understanding-your-ui-as-a-tree
React verwendet synthetische Ereignisse, um Benutzerinteraktionen in verschiedenen Browsern konsistent zu verarbeiten.
function Greeting(props) { return <p>Welcome, {props.username}!</p>; } // Usage <Greeting username="Alice" />
Referenz: https://react.dev/learn/responding-to-events
Der Status wird für Daten verwendet, die sich im Laufe der Zeit in einer Komponente ändern. Verwenden Sie den useState-Hook, um Funktionskomponenten einen Status hinzuzufügen.
function UserGreeting(props) { return props.isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign in.</h1>; }
Referenz: https://react.dev/learn/state-a-components-memory
Der Zustand kontrollierter Komponenten wird von React gesteuert.
function FruitList(props) { const fruits = props.fruits; return ( <ul> {fruits.map((fruit) => ( <li key={fruit.id}>{fruit.name}</li> ))} </ul> ); }
Unkontrollierte Komponenten verwalten ihren Zustand direkt im DOM.
function PureComponent(props) { return <div>{props.value}</div>; }
Refs bieten eine Möglichkeit, auf DOM-Knoten oder React-Elemente zuzugreifen, die in der Render-Methode erstellt wurden.
function Button() { const handleClick = () => { alert('Button clicked!'); }; return <button onClick={handleClick}>Click me</button>; }
Verwenden Sie „preventDefault()“, um das Standardverhalten des Browsers für bestimmte Ereignisse zu stoppen.
import React, { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>You clicked {count} times</p> <button onClick={() => setCount(count + 1)}>Click me</button> </div> ); }
React-Ereignisse breiten sich ähnlich aus wie native DOM-Ereignisse. Sie können stopPropagation() verwenden, um das Sprudeln von Ereignissen zu verhindern.
function ControlledInput() { const [value, setValue] = useState(''); return <input value={value} onChange={e => setValue(e.target.value)} />; }
Erwägen Sie die Verwendung des useReducer-Hooks oder einer Zustandsverwaltungsbibliothek wie Redux oder Zustand für komplexe Zustandslogik.
function UncontrolledInput() { return <input defaultValue="Hello" />; }
Kontext bietet eine Möglichkeit, Daten durch den Komponentenbaum zu leiten, ohne Requisiten auf jeder Ebene manuell weitergeben zu müssen.
import React, { useRef } from 'react'; function TextInputWithFocusButton() { const inputEl = useRef(null); const onButtonClick = () => { inputEl.current.focus(); }; return ( <> <input ref={inputEl} type="text" /> <button onClick={onButtonClick}>Focus the input</button> </> ); }
Referenz: https://react.dev/learn/passing-data-deeply-with-context
Nebenwirkungen sind Vorgänge, die etwas außerhalb des Bereichs der ausgeführten Funktion betreffen, wie z. B. das Abrufen von Daten oder die DOM-Manipulation. Verwenden Sie den useEffect-Hook, um Nebenwirkungen zu verwalten.
function Form() { const handleSubmit = (e) => { e.preventDefault(); console.log('Form submitted'); }; return <form onSubmit={handleSubmit}>...</form>; }
function Parent() { return ( <div onClick={() => console.log('Parent clicked')}> <Child /> </div> ); } function Child() { const handleClick = (e) => { e.stopPropagation(); console.log('Child clicked'); }; return <button onClick={handleClick}>Click me</button>; }
Referenzen:
Referenz: https://react.dev/reference/rules
Benutzerdefinierte Hooks ermöglichen es Ihnen, Komponentenlogik in wiederverwendbare Funktionen zu extrahieren.
function Welcome(props) { return <h1>Hello, {props.name}</h1>; }
Referenz: https://react.dev/reference/rules/rules-of-hooks
Das ist der Abschluss unserer React-Reise! Denken Sie daran: Der beste Weg zu lernen ist, etwas zu tun. Beginnen Sie mit der Erstellung von Projekten, experimentieren Sie mit diesen Konzepten und scheuen Sie sich nicht, in die React-Dokumentation einzutauchen, wenn Sie weitere Details benötigen. Viel Spaß beim Codieren!
Das obige ist der detaillierte Inhalt vonWichtige Erkenntnisse aus meiner letzten Rezension der React Docs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!