Q1. Wenn Sie nur das Component aus der React-Bibliothek importieren möchten, welche Syntax verwenden Sie?
import React.Component from 'react'
import [ Component ] from 'react'
import Component from 'react'
import { Component } from 'react'
Q2. Wenn ein Funktionskomponente bei denselben Props immer auf dieselbe Weise gerendert werden soll, welche einfache Leistungsoptimierung steht dafür zur Verfügung?
Wickeln Sie es in die Higher-Order-Komponente React.memo ein.
Implementieren Sie den Hook useReducer.
Implementieren Sie den Hook useMemo.
Implementieren Sie die Lebenszyklusmethode shouldComponentUpdate.
Q3. Wie beheben Sie den Syntaxfehler, der durch Ausführen dieses Codes entsteht?
wenn Sie möchten, dass der Browser malt, bevor der Effekt ausgeführt wird
[Quelle] (https://react.dev/reference/react/useLayoutEffect)
"useLayoutEffect is a version of useEffect that fires before the browser repaints the screen."
[Erklärung]Die richtige Antwort auf die Frage "Wann verwenden Sie useLayoutEffect?" lautet:
Wenn Sie das Layout des Bildschirms ändern müssen.
useLayoutEffect wird verwendet, wenn Sie DOM-Änderungen durchführen müssen, die auf dem aktualisierten Layout der Elemente beruhen. Es ermöglicht Ihnen, Änderungen am DOM synchron vor dem Malen des Browsers durchzuführen. Dies kann nützlich sein, wenn Sie das Layout messen oder manipulieren müssen, z. B. auf Elementabmessungen oder -positionen zugreifen, Bildlaufversätze berechnen oder andere Operationen durchführen, die aktuelle Layoutinformationen erfordern.
Die andere bereitgestellte Option ist nicht korrekt:
"Wenn Sie möchten, dass der Browser malt, bevor der Effekt ausgeführt wird" ist nicht korrekt. Der Zweck von useLayoutEffect besteht darin, den Effekt synchron nach dem DOM-Update, aber vor dem Bemalen des Browsers auszuführen, sodass Sie layoutbezogene Änderungen vornehmen können, bevor die visuelle Renderung erfolgt.
Erklärung:useLayoutEffect wird vor dem useEffect Hook ausgeführt, ohne sich sehr um die DOM-Manipulation zu kümmern. Obwohl das React-Hook useLayoutEffect nach dem useEffect Hook festgelegt ist, wird es zuerst ausgelöst!
Q20. Was ist der Unterschied zwischen den Klickverhalten dieser beiden Buttons (unter der Annahme, dass this.handleClick korrekt gebunden ist)?
A. <button onClick={this.handleClick}>Klick mich</button>
B. <button onClick={event =>this.handleClick(event)}>Klick mich</button>
Button A hat beim Klicken auf den Button keinen Zugriff auf das Ereignisobjekt.
Button B löst den Handler this.handleClick nicht erfolgreich aus.
Button A löst den Handler this.handleClick nicht erfolgreich aus.