Una de las fortalezas de React es lo bien que juega con otros. Descubre algunas de las mejores herramientas para integrarse con el framework.

React es una biblioteca de JavaScript muy conocida que puede usar para crear interfaces de usuario para aplicaciones web versátiles. React es adaptable y puede combinarlo con otras tecnologías para crear aplicaciones más potentes y efectivas.

Aprenda a integrar React con varias tecnologías y obtendrá beneficios de múltiples fuentes.

1. Reaccionar + Redux

Redux es una biblioteca de administración de estado que se usa junto con React. Redux facilita la gestión centralizada del estado de la aplicación. Al crear aplicaciones complejas con muchos estados, React y Redux funcionan bien juntos.

Aquí hay una ilustración de cómo usar Redux con React:

importar Reaccionar de'reaccionar';
importar { crear tienda } de'redux';
importar { Proveedor } de'reaccionar-redux';
constante estadoinicial = { contar: 0 };

funciónreductor(estado = estado inicial, acción) {
cambiar (tipo de acción) {

instagram viewer

caso'INCREMENTO':
devolver { contar: estado.contar + 1 };
caso'DECREMENTO':
devolver { contar: estado.contar - 1 };
por defecto:
devolver estado;
}
}

constanteimportar Reaccionar de'reaccionar';
importar { useQuery, gql } de'@apolo/cliente';

constante GET_USERS = gql`
 consulta GetUsers {
usuarios {
identificación
nombre
}
 }
;
funciónUsuarios() {
constante { cargando, error, datos } = useQuery (GET_USERS);
si (cargando) devolver<pag>Cargando...pag>;
si (error) devolver<pag>Error :(pag>;
devolver (
store = createStore (reductor);
funciónEncimera() {
constante contar = usarSelector(estado => estado.recuento);
constante despacho = useDispatch();
devolver (


Contar: {contar}/p>

Este ejemplo crea una tienda Redux con un estado inicial de 0. Luego, una función reductora maneja el INCREMENTO y DECREMENTO operaciones. El código utiliza el usarSelector y usoDespacho ganchos para obtener el conteo en curso y despachar las actividades individualmente.

Finalmente, para que la tienda sea accesible para toda la aplicación, envuelva el componente de contador en el componente de proveedor.

2. Representación del lado del servidor con Next.js

Next.js es un marco de desarrollo que optimiza la velocidad del sitio web y SEO tácticas transmitiendo HTML a los clientes y usando representación del lado del servidor de los componentes de React.

Su potente conjunto de herramientas funciona junto con React, proporcionando un rendimiento excepcional y una alta clasificación en los motores de búsqueda.

// páginas/index.js
importar Reaccionar de'reaccionar';
funciónHogar() {
devolver (

¡Hola, Mundo!</h1>

Este es un componente React renderizado por el servidor.</p>
</div>
 );
}
exportarpor defecto Hogar;

En este modelo, usted caracteriza un componente React llamado Hogar. Next.js crea una página HTML estática con el contenido de este componente cuando lo representa en el servidor. Cuando la página recibe una visita del cliente, enviará el HTML al cliente e hidratará el componente, lo que le permitirá funcionar como un componente React dinámico.

3. Obtención de datos con GraphQL

GraphQL es un lenguaje de consulta para API que ofrece una alternativa eficiente, sólida y adaptable a REST. Con GraphQL, puede obtener datos más rápido y actualizar la interfaz de usuario más rápidamente.

Esta es una ilustración de la forma de usar GraphQL con React:

importar Reaccionar de'reaccionar';
importar { useQuery, gql } de'@apolo/cliente';
constante GET_USERS = gql`
 consulta GetUsers {
usuarios {
identificación
nombre
}
 }
;
funciónUsuarios() {
constante { cargando, error, datos } = useQuery (GET_USERS);
si (cargando) devolver<pag>Cargando...pag>;
si (error) devolver<pag>Error :(pag>;
devolver (

    {datos.usuarios.mapa(usuario => (
  • {usuario.nombre}</li>
    ))}
    </ul>
     );
    }
    funciónaplicación() {
    devolver (

    Usuarios</h1>

    </div>
     );
    }
    exportarpor defecto aplicación;

Este modelo llama al useQuery función de la @apolo/cliente biblioteca para traer el resumen de los clientes desde la interfaz de programación de GraphQL. A continuación, la lista de usuarios se muestra en la interfaz de usuario.

4. Estilo con CSS-in-JS

CSS-in-JS es un método basado en JavaScript para diseñar componentes de React. Simplifica la gestión de hojas de estilo complejas y le permite escribir estilos en un estilo modular y basado en componentes.

Aquí hay una ilustración de cómo usar CSS-in-JS con React:

importar Reaccionar de'reaccionar';
importar estilizado de'componentes con estilo';
constante Botón = estilo.botón`
 color de fondo: #007amigo;
 color: #fff;
 relleno: 10píxeles 20píxeles;
 borde-radio: 5píxeles;
 tamaño de fuente: 16píxeles;
 cursor: puntero;
 &: pasar el cursor {
color de fondo: #0069d9;
 }
;
funciónaplicación() {
devolver (

Este ejemplo crea un botón con estilo componente usando el estilizado función. Define el tono de experiencia del botón, el tono del texto, la amortiguación, el barrido de línea, la dimensión del texto y el cursor.

También se define un estado de desplazamiento que altera el color de fondo cuando el usuario pasa el cursor sobre el botón. El botón finalmente se renderiza usando un componente React.

5. Integración con D3 para visualización de datos

D3 es una biblioteca JavaScript de manipulación y visualización de datos. Puede realizar visualizaciones de datos potentes e interactivas con React. Una ilustración de cómo usar D3 con React es la siguiente:

importar Reaccionar, {usarRef, usarEfecto} de'reaccionar';
importar * como d3 de'd3';
funciónGráfico de barras({ datos }) {
constante ref = usarRef();
 usarEfecto(() => {
constante svg = d3.select (ref.actual);
constante ancho = svg.attr('ancho');
constante altura = svg.attr('altura');
constante x = d3.scaleBand()
.dominio (datos.mapa((d) => d.etiqueta))
.rango([0, ancho])
.relleno(0.5);
constante y = d3.escalaLineal()
.dominio([0, d3.max (datos, (d) => d.valor)])
.range([altura, 0]);
svg.selectAll('recto')
.datos (datos)
.ingresar()
.adjuntar('recto')
.attr('X', (d) => x (d.etiqueta))
.attr('y', (d) => y (d.valor))
.attr('ancho', x.ancho de banda())
.attr('altura', (d) => altura - y (d.valor))
.attr('llenar', '#007bff');
 }, [datos]);
devolver (
400} altura={400}>
{/* los ejes van aquí */}
</svg>
 );
}
exportarpor defecto Gráfico de barras;

Este código define un Gráfico de barras componente que acepta un datos prop en el fragmento de código anterior. llama al useRef gancho para hacer una referencia al componente SVG que lo usará para dibujar el contorno.

Después de eso, renderiza las barras del gráfico y define las escalas con el gancho useEffect(), que asigna los valores de los datos a las coordenadas de la pantalla.

6. Agregar funcionalidad en tiempo real con WebSockets

La implementación de WebSockets establece una vía bidireccional completamente operativa que permite la comunicación continua entre un cliente y un servidor. Permiten que React agregue utilidad continua a las aplicaciones web, por ejemplo, foros de discusión, actualizaciones en vivo y advertencias.

Utiliza WebSockets de la siguiente manera con React:

importar Reaccionar, { estado de uso, efecto de uso } de'reaccionar';
importar yo de'socket.io-cliente';
funciónSala de chat() {
constante [mensajes, establecerMensajes] = useState([]);
constante [valorEntrada, establecerValorEntrada] = usarEstado('');
constante enchufe = io(' http://localhost: 3001');
 usarEfecto(() => {
socket.on('mensaje', (mensaje) => {
setMensajes([...mensajes, mensaje]);
});
 }, [mensajes, socket]);
constante manejarEnviar = (mi) => {
e.preventDefault();
socket.emit('mensaje', valor de entrada);
establecerValorEntrada('');
 };
devolver (


    {mensajes.mapa((mensaje, yo) => (
  • {mensaje}</li>
    ))}
    </ul>

    tipo ="texto"
    valor={valor de entrada}
    onChange={(e) => setInputValue (e.objetivo.valor)}
    />

En este ejemplo, usted define un Sala de chat componente que utiliza el socket.io-cliente biblioteca para conectarse a un servidor WebSocket. Puedes usar el useState gancho para manejar la lista de mensajes y el valor de la información.

Al recibir un nuevo mensaje, el efecto de uso hook registra un oyente para desencadenar una actualización de evento de mensaje en la lista de mensajes. Para borrar y enviar un valor de entrada para el mensaje de evento, existe un manejarEnviar función.

Posteriormente, tanto el formulario con un campo de entrada y un botón como la lista de mensajes actualizada se mostrarán en la pantalla.

Con cada envío de formulario, exhortar al manejarEnviar la función es inevitable. Para entregar el mensaje al servidor, este método utiliza el socket.

7. Integración con React Native para desarrollo móvil

React Local es un sistema para crear aplicaciones universales locales utilizando React, que se conectan para promover aplicaciones portátiles para iOS y Android.

Al usar la integración de React Native con React, puede usar el diseño basado en componentes y el código reutilizable de React en plataformas móviles y web. Esto reduce los ciclos de desarrollo de aplicaciones móviles y el tiempo de comercialización. React Native es un marco popular para desarrollar aplicaciones móviles nativas que utiliza la biblioteca React.

Presentamos programación y bibliotecas vitales, como Nodo.js, Responder CLI local, y código x o Estudio Android, es fundamental para los diseñadores que trabajan con iOS y Android por separado. Finalmente, los componentes simples de React Native permiten a los desarrolladores crear aplicaciones móviles sólidas y ricas en funciones para las plataformas iOS y Android.

Combine React con otras tecnologías

React es una biblioteca muy apreciada y eficaz para crear aplicaciones en línea. React es una excelente opción para crear interfaces de usuario, pero también se usa con otras tecnologías para aumentar sus capacidades.

Al integrar React con estas tecnologías, los desarrolladores pueden crear aplicaciones más complejas y avanzadas que ofrecen una mejor experiencia de usuario. React y su ecosistema de herramientas y bibliotecas cubren todo lo necesario para crear un sitio web básico o una aplicación web compleja.