Q1. Si deseas importar solo el Component de la biblioteca React, ¿qué sintaxis utilizas?
import React.Component from 'react'
import [ Component ] from 'react'
import Component from 'react'
import { Component } from 'react'
Q2. Si un componente de función siempre debe renderizarse de la misma manera dado los mismos props, ¿qué optimización de rendimiento simple está disponible para ello?
Envuélvelo en el componente de orden superior React.memo.
Implementa el Hook useReducer.
Implementa el Hook useMemo.
Implementa el método de ciclo de vida shouldComponentUpdate.
Q3. ¿Cómo solucionas el error de sintaxis que resulta de ejecutar este código?
Q17. ¿Cómo describirías la variable message envuelta entre llaves a continuación?
const message = 'Hola';
const element = <p>{message}</p>;
una función JS
un elemento JS
una expresión JS
un contenedor JSX
Q18. ¿Qué puedes usar para manejar la división de código?
React.memo
React.split
[x] React.lazy
React.fallback
Q19. ¿Cuándo usas useLayoutEffect?
para optimizar para todos los dispositivos
para completar la actualización
para cambiar el diseño de la pantalla
cuando necesitas que el navegador pinte antes de que se ejecute el efecto
Source
"useLayoutEffect es una versión de useEffect que se dispara antes de que el navegador repinte la pantalla."
[Explicación] La respuesta correcta a la pregunta "¿Cuándo usas useLayoutEffect?" es:
Cuando necesitas cambiar el diseño de la pantalla.
useLayoutEffect se utiliza cuando necesitas realizar mutaciones en el DOM que dependen del diseño actualizado de los elementos. Te permite hacer cambios en el DOM de forma síncrona antes de que el navegador realice su paso de pintura. Esto puede ser útil cuando necesitas medir o manipular el diseño, como acceder a dimensiones o posiciones de elementos, calcular desplazamientos de desplazamiento u realizar otras operaciones que requieran información de diseño actualizada.
La otra opción proporcionada como respuesta no es precisa:
"Cuando necesitas que el navegador pinte antes de que se ejecute el efecto" no es correcto. El propósito de useLayoutEffect es ejecutar el efecto de forma síncrona después de que se actualiza el DOM pero antes de que el navegador pinte, lo que te permite realizar cambios relacionados con el diseño antes de que ocurra el renderizado visual.
Q20. ¿Cuál es la diferencia entre los comportamientos de clic de estos dos botones (asumiendo que this.handleClick está vinculado correctamente)?
A. <button onClick={this.handleClick}>Haz clic</button>
B. <button onClick={event =>this.handleClick(event)}>Haz clic</button>
El botón A no tendrá acceso al objeto de evento al hacer clic en el botón.
El botón B no activará correctamente el controlador this.handleClick.
El botón A no activará correctamente el controlador this.handleClick.