En React es común que tus componentes deban contar con propiedades por defecto (default props). Esto ocurre, por ejemplo, cuando un componente debe recibir ciertos datos pero existe la posibilidad de que no se envíen todos los requeridos. La solución es sencilla: utilizar default props.
¿Qué son las default props en React?
Las default props permiten asignar valores predeterminados a las propiedades que un componente espera recibir. De este modo, el componente genera el contenido esperado, incluso si faltan algunas propiedades durante su uso. Si no envías ninguna propiedad al componente, mostrará este valor predeterminado.
¿Cómo asignar default props correctamente?
La manera recomendada de asignar valores por defecto en React es mediante la propiedad especial llamada defaultProps. Esta técnica hace que el código sea más claro, ordenado y fácil de mantener:
Cuando el componente no reciba estos valores, usará automáticamente los que hayas definido aquí.
¿Por qué utilizar defaultProps en lugar de asignarlas directamente?
Definir directamente valores por defecto en la destructuración de props (objeto recibido por parámetro en un componente) puede funcionar bien inicialmente, pero se vuelve confuso y difícil de mantener con el tiempo. ¿Por qué?
El código se hace largo y poco legible con muchas propiedades.
Mezcla operaciones (la obtención y definición de valores predeterminados).
Incrementa la posibilidad de confusión futura.
La opción correcta es mantener separadas la obtención de propiedades y la definición de sus valores por defecto a través de defaultProps. Es algo más legible y mucho más fácil de gestionar en códigos grandes o que evoluciona con el tiempo.
¿Qué sucede si asignamos propiedades explícitamente?
Al utilizar defaultProps y luego agregar propiedades explícitamente durante la invocación de un componente, React sustituirá correctamente los valores por defecto por aquellos que envíes explícitamente.
<Saludar firstName="Carlos" lastName="Navarro"/>
Esto mostrará claramente "Carlos Navarro" en lugar de los valores por defecto definidos previamente en defaultProps.
La práctica correcta en la asignación de default props asegura claridad, facilita el mantenimiento y mejora significativamente el manejo futuro de los componentes React. ¿Has tenido alguna experiencia similar gestionando propiedades en React? ¡Comparte tu opinión en los comentarios!
Actualmente ya no se usan las defaultProps, también a esta fecha Septiembre 2022 lo que se usa en la industria es typescript y allí el uso de las defaultProps no tiene sentido.
Este material es bueno como para saber que existe pero lo mejor es usar typescript 100%
Una manera mucho más sencilla de hacerlo es usar la desestructuración y en vez de pasarle las props pasarle lo que estamos esperando:
import{Text}from'react-native'constSaludar=({ name ='default name'})=>{return<Text>Hola{name}</Text>}exportdefaultSaludar
Así le podemos un valor por defecto que utilizará si no le pasamos uno. Esto también lo podéis usar en un proyecto normal de JavaScript no es exclusivo de react, solo es pasarle a la función un objeto.
Así lo he venido haciendo desde siempre también, mucho más sencillo.
Super!, mucho mejor así
No lo sé Rick
No hay un curso de react native mas actualizado?
Aqui hablan sobre las razones de ya no usar defaultProps stop using defaultprops 🤷♂️
Tuve algunos problemas con la conexión y EXPO no me permitía cargar la aplicación aunque ejecutara la opción "r" desde el terminal.
1ro Cambié de CONNECTION Lan -> Tunnel
2do Revisar que su conexión de red sea privada
Gran aporte, gracias.
Por favor actualicen este curso, ya muchas cosas de las que aparecen son diferentes.
Es verdad como el tema de los defaultProps. Pero ya que mas da me quedan 5 videos nada mas.
Este curso esta muy desactualizado. ¿Cuándo tendrán un curso más actual?
Cuál es el shortcut para comentar la linea ?
ctrl + K + C en Windows
Hola :)
Si tienes tu teclado en inglés, este sirve: Ctrl + /
Otra alternativa sería utilizar el operador de corto circuito || de la siguiene manera:
<Text> Hola { name || 'default' } </Text>
Hola a todos, compañeros alguien aquí le gustaría trabajar en una aplicación?
Me interesa
Me sumo
Hola Team Associates del futuro, esta clase del curso, no tiene una articlase generada c:
Así se haría con Typescript (el hermanito tipado de JavaScript hecho por Microsoft):
Con la tentativa salida de la versión 19 de react en los próximos meses defaultProps será deprecado, seria bueno echarle un ojo a la nueva documentación.
al parecer no es tan bueno usarlo ya que era más un work around de un problema que se presentaba para las clases, con los componentes funcionales ya es mucho más sencillo