Leanpub Header

Skip to main content

React: Preguntas típicas

¡Domina todos los conceptos de React!

This book is 100% completeLast updated on 2026-07-18

Aprende y domina React. Entiende cada concepto y despeja las dudas más habituales trabajando con la biblioteca.

Minimum price

$7.99

$9.99

You pay

Author earns

$

Also available for 1 book credit with a Reader Membership

PDF
EPUB
WEB
APP
About

About

About the Book

+100 preguntas típicas de React. Explicadas y detalladas. Con ejemplos de código.

Share this book

Categories

Author

About the Author

Miguel Angel Durán García

¡Hola! Soy Miguel Ángel Durán (midudev). Llevo más de 15 años en el desarrollo de software y me dedico a crear contenido sobre Inteligencia Artificial, programación y tecnología.

He sido reconocido como GitHub Star y Google Developer Expert en Web Technologies. Enseño a cientos de miles de personas a través de YouTube, Twitch, Discord y midu.dev: cursos, streams, artículos y un montón de proyectos open source.

Contents

Table of Contents

Antes de empezar

  1. Cómo está organizado
  2. Apoya el libro (si quieres)
  3. Más contenido sobre React (y más)
  4. Únete a la comunidad de Discord
  5. Erratas y sugerencias

Principiante

  1. ¿Qué es React?
  2. ¿Cuáles son las características principales de React?
  3. ¿Qué significa exactamente que sea declarativo?
  4. ¿Qué es un componente?
  5. ¿Qué es JSX?
  6. ¿Cómo se transforma el JSX?
  7. ¿Cuál es la diferencia entre componente y elemento en React?
  8. ¿Cómo crear un componente en React?
  9. ¿Qué son las props en React?
  10. ¿Qué es y para qué sirve la prop children en React?
  11. ¿Qué diferencia hay entre props y state?
  12. ¿Se puede inicializar un estado con el valor de una prop? ¿Qué pasa si lo haces y qué hay que tener en cuenta?
  13. ¿Qué es el renderizado condicional en React?
  14. ¿Cómo puedes aplicar clases CSS a un componente en React y por qué no se puede usar class?
  15. ¿Cómo puedes aplicar estilos en línea a un componente en React?
  16. ¿Cómo puedo aplicar estilos de forma condicional a un componente en React?
  17. ¿Qué es el renderizado de listas en React?
  18. ¿Cómo puedes escribir comentarios en React?
  19. ¿Cómo añadir un evento a un componente en React?
  20. ¿Cómo puedo pasar un parámetro a una función que maneja un evento en React?
  21. ¿Qué es el estado en React?
  22. ¿Qué son los hooks?
  23. ¿Qué hace el hook useState?
  24. ¿Qué hace el hook useReducer?
  25. ¿Qué significa la expresión “subir el estado”?
  26. ¿Qué hace el hook useEffect?
  27. Explica casos de uso del hook useEffect
  28. Cómo suscribirse a un evento en useEffect
  29. ¿Qué hace el hook useId?
  30. ¿Cómo podemos ejecutar código cuando el componente se monta?
  31. ¿Qué son los Fragments en React?
  32. ¿Por qué es recomendable usar Fragment en vez de un div?
  33. ¿Qué es el Compound Components Pattern?
  34. ¿Cómo puedes inicializar un proyecto de React desde cero?
  35. ¿Qué es React DOM?
  36. ¿Qué JavaScript necesito para aprender React?
  37. ¿Qué es el Virtual DOM?
  38. ¿Por qué no se debe mutar el estado directamente en React?
  39. ¿Qué es la composición de componentes y por qué React la prefiere a la herencia?
  40. Solucionario

Intermedio

  1. ¿Cómo crear un hook personalizado (custom hook)?
  2. ¿Cuántos useEffect puede tener un componente?
  3. ¿Cómo podemos ejecutar código cuando el componente se desmonta del árbol?
  4. Cómo puedes cancelar una petición a una API en useEffect correctamente
  5. ¿Cuáles son las reglas de los hooks en React?
  6. ¿Qué diferencia hay entre useEffect y useLayoutEffect?
  7. ¿Qué son mejores los componentes de clase o los componentes funcionales?
  8. ¿Cómo mantener los componentes puros y qué ventajas tiene?
  9. ¿Qué es la hidratación (hydration) en React?
  10. ¿Qué es el Server Side Rendering y qué ventajas tiene?
  11. ¿Cómo puedes crear un Server Side Rendering con React desde cero?
  12. ¿Puedes poner un ejemplo de efectos colaterales en React?
  13. ¿Qué diferencia hay entre componentes controlados y no controlados? ¿Qué ventajas y desventajas tienen?
  14. ¿Qué son los High Order Components (HOC)?
  15. ¿Qué son las render props?
  16. ¿Por qué no podemos usar un if en el renderizado de un componente?
  17. ¿Por qué debemos utilizar una función para actualizar el estado de React?
  18. ¿Qué es el ciclo de vida de un componente en React?
  19. ¿Por qué puede ser mala práctica usar el index como key en un listado de React?
  20. ¿Para qué sirve el hook useMemo?
  21. ¿Es buena idea usar siempre useMemo para optimizar nuestros componentes?
  22. ¿Para qué sirve el hook useCallback?
  23. ¿Es buena idea usar siempre useCallback para optimizar nuestros componentes?
  24. ¿Cuál es la diferencia entre useCallback y useMemo?
  25. ¿Qué son las refs en React?
  26. ¿Cómo funciona el hook useRef?
  27. ¿Qué hace el hook useLayoutEffect?
  28. ¿Qué son los componentes stateless?
  29. ¿Cómo puedes prevenir el comportamiento por defecto de un evento en React?
  30. ¿Qué es el StrictMode en React?
  31. ¿Por qué es recomendable exportar los componentes de React de forma nombrada?
  32. ¿Cómo puedes exportar múltiples componentes de un mismo archivo?
  33. ¿Cómo puedo importar de forma dinámica un componente en React?
  34. ¿Cuando y por qué es recomendable importar componentes de forma dinámica?
  35. ¿Sólo se pueden cargar componentes de forma dinámica si se exportan por defecto?
  36. ¿Qué es el contexto en React? ¿Cómo puedo crearlo y consumirlo?
  37. ¿Qué es el SyntheticEvent en React?
  38. ¿Qué es flushSync en React?
  39. ¿Qué son los Error Boundaries en React?
  40. ¿Qué son las Forward Refs?
  41. ¿Cómo puedo validar el tipo de mis props?
  42. ¿Cómo puedo validar las propiedades de un objeto con PropTypes?
  43. ¿Cómo puedo validar las propiedades de un array con PropTypes?
  44. ¿Cómo puedo inyectar HTML directamente en un componente de React?
  45. ¿Por qué puede ser mala idea pasar siempre todas las props de un objeto a un componente?
  46. ¿Cuál es el propósito del atributo “key” en React y por qué es importante usarlo correctamente al renderizar listas de elementos?
  47. ¿Para qué sirve el hook useTransition y cuándo deberías usarlo?
  48. ¿Para qué sirve el hook useActionState?
  49. ¿Qué problema resuelve el hook useOptimistic?
  50. ¿Cómo funciona el hook useFormStatus y qué aporta junto a las Server Actions?
  51. ¿Qué es el hook useFormState y cuándo conviene usarlo?
  52. ¿Qué son las Server Actions y cómo se usan con formularios en React?
  53. ¿Cuál es la diferencia entre la prop action y el atributo formAction en React/Next.js?
  54. ¿Qué diferencia hay entre componentes de servidor y componentes de cliente en React/Next.js?
  55. ¿Para qué sirve el hook useSyncExternalStore?
  56. ¿Cómo funciona React.memo y cuándo es útil?
  57. ¿Qué diferencia hay entre ReactDOM.render, createRoot y hydrateRoot?
  58. ¿Qué provoca un re-render en un componente de React?
  59. ¿Qué es el batching de actualizaciones de estado en React?
  60. ¿Qué es Suspense en React y para qué se usa?
  61. ¿Qué es la reconciliación (reconciliation) en React?
  62. ¿Qué es el estado derivado y por qué conviene calcularlo en el render?
  63. ¿Qué es una stale closure y cómo afecta a los hooks?
  64. ¿Cómo puedes evitar re-renders innecesarios al usar Context?
  65. ¿Qué es React.lazy y cómo se combina con Suspense?
  66. ¿Qué es startTransition y en qué se diferencia de actualizar el estado de forma normal?
  67. ¿En React 19 se necesita todavía forwardRef?
  68. Solucionario

Experto

  1. ¿Es React una biblioteca o un framework? ¿Por qué?
  2. ¿Para qué sirve el hook useImperativeHandle?
  3. ¿Para qué sirve el método cloneElement de React?
  4. ¿Qué son los portales en React?
  5. ¿Por qué StrictMode renderiza dos veces la aplicación?
  6. ¿Qué problemas crees que pueden aparecer en una aplicación al querer visualizar listas de miles/millones de datos?
  7. ¿Cómo puedes abortar una petición fetch con useEffect en React?
  8. ¿Qué solución/es implementarías para evitar problemas de rendimiento al trabajar con listas de miles/millones de datos?
  9. ¿Qué es el hook useDebugValue?
  10. ¿Qué es el Profiler en React?
  11. ¿Cómo puedes acceder al evento nativo del navegador en React?
  12. ¿Cómo puedes registrar un evento en la fase de captura en React?
  13. ¿Cómo puedes mejorar el rendimiento del Server Side Rendering en React para evitar que bloquee el hilo principal?
  14. ¿Qué diferencia hay entre renderToStaticNodeStream() y renderToPipeableStream()?
  15. ¿Para qué sirve el hook useDeferredValue?
  16. ¿Para qué sirve el método renderToReadableStream()?
  17. ¿Qué es la función use en React y para qué se utiliza?
  18. ¿Para qué sirve el hook useInsertionEffect?
  19. ¿Cómo se complementan useMemo, useCallback, useTransition y useDeferredValue para optimizar el rendimiento?
  20. ¿Qué es Concurrent React y qué problemas resuelve?
  21. ¿Qué es React Fiber?
  22. ¿Qué es el React Compiler y qué ventajas aporta?
  23. ¿Cómo puedo hacer testing de un componente?
  24. ¿Cómo puedo hacer testing de un hook?
  25. ¿Qué es Flux?
  26. Solucionario

Errores típicos en React

  1. ¿Qué quiere decir: Warning: Each child in a list should have a unique key prop?
  2. React Hook useXXX is called conditionally. React Hooks must be called in the exact same order in every component render
  3. Can’t perform a React state update on an unmounted component
  4. Too many re-renders. React limits the number of renders to prevent an infinite loop
  5. ¿Qué diferencia existe entre Shadow DOM y Virtual DOM?
  6. ¿Qué es el Binding?
  7. Solucionario

Hasta aquí (por ahora)

  1. La web: reactjs.wiki
  2. Es código abierto
  3. Sigue por aquí si quieres
  4. Un último empujón

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $15 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub