Saltar al contenido

¿Qué se Render Apoyos en ReactDec, 12thIn esta clase particular, se goining de aprender acerca de render … utilería y su

marzo 13, 2020

 

En este tutorial, se goining para aprender acerca de hacer que los apoyos y sus usos en reaccionar.

Render puntales es un patrón en reaccionar que nos ayuda a pasar las funciones como un apoyo a thecomponents para que podamos decidir la lógica de representación componente en lugar de dejar que la propia lógica de renderit componente. de

Let lo aprenden por medio de un ejemplo.

class FetchData extends React.Component {
state = {
data: null,
loading: true,
error: ""
};
componentDidMount() {
axios
.get(this.props.url)
.then(res => {
this.setState({
data: res.data,
loading: false
});
})
.catch(err => {
this.setState({
error: err
});
});
}
render() {
const {data,loading,error} = this.state
return (

{loading &&

Loading ...

}
{error &&

{error}

}
{data &&

title:{data.title}

id: {data.id}

}

)
}
}

function App() {
return (

Hello React

);
}

En el código anterior, hemos creado dos componentes en donde el componente FetchData se utiliza para recuperar los datos desde el servidor.

Si tratamos de recuperar los datos desde el otro extremo de la API que necesitamos para volver a definir la lógica componente FetchData porque el componente actualmente FetchData sólo procesa los datos de la API de todos.

porque no tenemos control sobre la lógica de representación FetchComponent porque estamos simplemente haciendo que el componente dentro del componente de aplicación pasando la url como apoyo. el uso de

Let el renderprops patrón para resolver nuestro problema.

FetchData Componente

class FetchData extends React.Component {
state = {
data: null,
loading: true,
error: ""
};

componentDidMount() {
axios
.get(this.props.url)
.then(res => {
this.setState({
data: res.data,
loading: false
});
})
.catch(err => {
this.setState({
error: err
});
});
}

render() {
return this.props.children(this.state);
}
}

function App() {
return (

Hello Render props


{({ data, loading, error }) => { if (loading) return

loading...

; if (error) return

{error}

; return (

title:{data.title}

id: {data.id}

); }}

);
}

En lugar de difícil codificación de la lógica de representación componente FetchData sólo estamos invocando la función pasando un estado que se define dentro de la apertura y cierre () JSX etiquetas.

Dentro del componente FetchData, estamos extrayendo el estado de desestructuración y ha añadido nuestra propia lógica de representación. salida

:

vamos a obtener los datos de los diferentes punto final de la API. salida

function App() {
return (

Hello Render props


{({ data, loading, error }) => {
if (loading) return

loading...

;
if (error) return

{error}

;
return (

title:{data.title}

);
}}

);
}

Si usted sabe sobre Reaccionar componentes de consulta o mutación de la biblioteca de Apolo También están utilizando el patrón de render apoyos.

Reaccionar Apolo consulta de ejemplo componente.

import React, { Component } from "react";
import { Query } from "react-apollo";

function App() {
return (


{result => {
if (result.loading) return

loading...

;
if (result.error) return

{result.error.message}

;
return (

Name: {result.data.viewer.name}

Email: {result.data.viewer.email}

);
}}

);
}