La deuda tecnológica puede acumularse rápidamente cuando se crea una aplicación desde cero. Los marcos como React y Redux proporcionan excelentes patrones para estructurar el código de forma modular.
Y vivimos en un mundo perfecto, ¡eso es todo lo que necesitaremos!
Excepto que no lo hacemos y no lo es .
Cuando uso React y Redux, siempre llego a un punto en el que doy un paso atrás y pienso "Wow, ¿cuándo se puso esto tan complicado?". Esto provoca una reorganización y, después de resolver todos los Line x:y: ‘somethingImportant’ is not defined no-undeferrores, finalmente estoy satisfecho.
Hasta que, por supuesto, vuelva a suceder, varias semanas después.
Un código como este necesita un cuidado constante. Necesita amor y cariño. Domestica a la bestia mientras la haces más fuerte. Estructurar código rebelde requiere una estrategia global.
Para React & Redux, uso lo que me gusta llamar IARS . Se pronuncia “EEEARRRRGHS”.
"EEEARRRRGHS ME HEARTY"
Dígalo como quiera, IARS significa Interacciones , Acciones , Reductores , Selectores .
He aquí un desglose.
Aquí es donde se realiza el trabajo pesado, provocado por la actividad del usuario. ¿Guarda algo nuevo? Coloque la funcionalidad aquí y expórtela para que el componente frontal pueda acceder a ella.
Todo lo que se cambie en su aplicación debe comenzar desde aquí. Despacho de acciones desde interacciones.js.
Ejemplo: Hago mucho desarrollo de DApp de Blockchain, por lo que la Figura 1 es un ejemplo de una función en interacciones.js cargando un jugador desde un juego que estoy creando.
La única dependencia externa aquí es playerDetailsLoadedde actions.js .
tennisPlayeres una instancia de Smart Contract en Blockchain. Almacena una lista de jugadores y expone una playersmatriz pública , que se llama con idpara recuperar un solo jugador.
La Figura 2 muestra cómo se llama desde el componente.
Las acciones son lo que utiliza el despachador para interactuar con los reductores. Su archivo actions.js terminará luciendo como la Figura 3 después de un tiempo.
La línea 55 muestra la playerDetailsLoadedfunción llamada desde el despachador en interacciones.js .
Este archivo crecerá bastante rápido, por lo que es aconsejable convertir actions.js en un directorio de acciones y separar las acciones de forma lógica. Más sobre eso más tarde.
Los reductores son los que alteran los datos en la tienda redux. Si ha usado Redux antes, sabrá cómo se ven. La Figura 4 muestra un ejemplo de nuestro PLAYER_DETAILS_SELECTEDreductor en la línea 22.
Los selectores son lo que utilizan los componentes para acceder a los datos en la tienda redux. Utilizo una combinación de lodash y reselección en selectors.js . La Figura 5 muestra un fragmento de selectors.js con la selección utilizada para obtener selectedPlayerDetailsde la tienda redux.
La Figura 6 muestra cómo llamarlo desde el componente.
¡Y ahí lo tenemos! Del componente a la interacción, a la acción, al reductor, al selector y de regreso al componente.
Lo bueno de este patrón es que cada componente solo necesita conocer algunas interacciones y algunos selectores, manteniendo limpio el código del componente.
Comience con una carpeta redux / con los siguientes archivos:
"EEEARRRRGHS"
Cuando realiza una solicitud a facebook.com, su computadora busca el nombre de dominio para traducir ese nombre de dominio en una dirección IP para que su computadora pueda hacer esa conexión.
Introducción Un accidente cerebrovascular es una emergencia médica que puede afectar a cualquier persona en cualquier momento. Ocurre cuando se interrumpe el flujo de sangre a una parte del cerebro, lo que lleva a una pérdida repentina de la función cerebral.
Por Alyson Lee, asesora de gestión de asuntos gubernamentales El proceso de asignaciones anuales del gobierno federal es fundamental para nuestros esfuerzos por financiar la eliminación de dióxido de carbono (CDR). Cada año, Carbon180 envía solicitudes a varias oficinas del Congreso para ayudar a guiar hacia dónde fluirán los dólares del próximo año.
Era pasada la medianoche cuando Hayden llevó a Katie de regreso a su residencia universitaria después de su velada juntos. Tenía una clase temprano en la mañana y no tenía otra muda de ropa después de haberse quedado con él la noche anterior.
En el panorama empresarial en rápida evolución actual, el concepto de trabajo híbrido y remoto ha ganado un impulso sin precedentes. A medida que las empresas continúan adaptándose a las necesidades y expectativas cambiantes de sus empleados, expertos de varios campos se han reunido para analizar los beneficios, los desafíos y el futuro de esta forma transformadora de trabajar.
“Él me protegerá cuando esté en peligro. Me esconderá en su tienda.