Descubra cómo Render Props puede ayudarle a crear una aplicación React
Un patrón común utilizado para compartir estado entre componentes es utilizar la children
propiedad.
Dentro de un componente JSX puedes renderizar {this.props.children}
lo que inyecta automáticamente cualquier JSX pasado en el componente padre como hijo:
class Parent extends React.Component { constructor(props) { super(props) this.state = { /*...*/ } } render() { return div{this.props.children}/div }}const Children1 = () = {}const Children2 = () = {}const App = () = ( Parent Children1 / Children2 / /Parent)
Sin embargo, aquí hay un problema: no se puede acceder al estado del componente padre desde los hijos.
Para poder compartir el estado, debe utilizar un componente de propiedad de representación y, en lugar de pasar componentes como hijos del componente principal, pase una función que luego ejecute en {this.props.children()}
. La función puede aceptar argumentos:
class Parent extends React.Component { constructor(props) { super(props) this.state = { name: 'Flavio' } } render() { return div{this.props.children(this.state.name)}/div }}const Children1 = props = { return p{props.name}/p}const App = () = Parent{name = Children1 name={name} /}/Parent
En lugar de utilizar el children
prop, que tiene un significado muy específico, puedes utilizar cualquier prop, y así puedes usar este patrón varias veces en el mismo componente: Fotos Porno y actrices porno
class Parent extends React.Component { constructor(props) { super(props) this.state = { name: 'Flavio', age: 35 } } render() { return ( div pTest/p {this.props.someprop1(this.state.name)} {this.props.someprop2(this.state.age)} /div ) }}const Children1 = props = { return p{props.name}/p}const Children2 = props = { return p{props.age}/p}const App = () = ( Parent someprop1={name = Children1 name={name} /} someprop2={age = Children2 age={age} /} /)ReactDOM.render(App /, document.getElementById('app'))
Tal vez te puede interesar:
- Introducción a React
- Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
- Cómo cambiar el valor de un nodo DOM
- Cómo comprobar si un elemento DOM tiene una clase
Accesorios de renderizado de React
Un patrón común utilizado para compartir estado entre componentes es utilizar la childrenpropiedad. Descubra cómo Render Props puede ayudarle a crear una ap
programar
es
https://aprendeprogramando.es/static/images/programar-accesorios-de-renderizado-de-react-1902-0.jpg
2024-10-29
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente