Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro

Rate this content
Bookmark

Existen muchas formas de autorizar componentes en React, y hacerlo correctamente puede no ser tan fácil, especialmente cuando los componentes se vuelven más complejos. En esta charla, aprenderás cómo construir componentes React a prueba de futuro. Cubriremos dos enfoques diferentes para construir componentes - Composición y Configuración, para construir el mismo componente utilizando ambos enfoques y explorar sus ventajas y desventajas.

Thomas Findlay
Thomas Findlay
17 min
21 Jun, 2022

Video Summary and Transcription

La charla de hoy discute la construcción de componentes React flexibles, resilientes y a prueba de futuro utilizando enfoques de composición y configuración. El enfoque de composición permite flexibilidad sin lógica condicional excesiva mediante el uso de múltiples componentes y el paso de props. La API de contexto se puede utilizar para el estilo de variantes, permitiendo un estilo y especificación de clase apropiados. Agregar variantes e iconos se facilita al consumir el contexto de variantes. Los enfoques de composición y configuración se pueden combinar para lo mejor de ambos mundos.

Available in English

1. Construyendo Componentes React Flexibles y Resilientes

Short description:

Hoy, discutiré cómo construir componentes flexibles, resilientes y a prueba de futuro en React. Exploraremos dos enfoques: composición y configuración. Construir componentes a prueba de futuro puede ser un desafío a medida que la complejidad crece. Agregar características como encabezados, variantes e iconos requiere una cuidadosa consideración de las props y los estilos.

Hey, hoy voy a hablar sobre cómo construir componentes flexibles, resilientes y a prueba de futuro en React. Voy a cubrir dos enfoques diferentes para construir componentes, composición y configuración. Pero primero, permíteme contarte un poco sobre mí. Mi nombre es Tomasz Findly y soy un desarrollador web y móvil full-stack con 10 años de experiencia en programación. Soy co-propietario de Findly WebTech, así como mentor y consultor en la plataforma CodeMentor.io. Además de eso, soy el autor de React, el Camino a Enterprise y Viewed el Camino a Enterprise libros. También escribo artículos para Telerik y los blogs de Camino a Enterprise. Bueno, eso es suficiente sobre mí. Ahora, los componentes. Entonces, seamos honestos. Construir componentes a prueba de futuro no es fácil. Quiero decir, bueno, si tienes un componente como este, es muy simple. Así que para este ejemplo, usaré un componente de alerta. Entonces, por ejemplo, si quisieras tener un componente de alerta que mostrara un mensaje de alerta básico, bueno, podríamos hacer algo como esto, ¿verdad? Podríamos recibir entradas de texto como props, tener algunos divs con estilos, y luego renderizar lo que se pasó, ¿verdad? Y así es como podríamos usarlo. Solo usa el componente de alerta y pasa el mensaje de texto dentro de él. Entonces, obviamente, eso es muy simple, pero el problema con la construcción de buenos componentes es que, a medida que necesitamos agregar más funcionalidad, la complejidad simplemente crece, ¿verdad? El code se está volviendo mucho más difícil de mantener y extender. Entonces, ¿qué pasaría si quisiéramos agregar más características a este componente de alerta? Digamos que solo queremos agregar un encabezado también. Entonces podríamos recibir un encabezado como una prop, y si se pasó uno, lo mostraríamos, ¿verdad? Como se muestra aquí en el ejemplo. Entonces, por ejemplo, en el lado derecho, tenemos una alerta solo con y la otra con tanto el encabezado de la alerta como el mensaje de texto. Así que eso sigue siendo bastante simple. Ahora, ¿qué pasa con las variantes? Bueno, supongo que podríamos agregar otra prop, como variante, ¿verdad? Y luego, en función de esa prop, y cualquiera que fuera la variante seleccionada, podríamos agregar estilos apropiados. Entonces, por ejemplo, podríamos admitir variantes como éxito, peligro, advertencia o información, como puedes ver en el lado derecho. Y así es como lo usaríamos. Solo pasa las props de encabezado y variante y algo de texto dentro.

Entonces, ¿qué pasa si agregamos, tal vez, un ícono? Bueno, de nuevo, otra prop, como ícono. Si se pasó, y encontramos un ícono compatible, entonces podemos renderizarlo. Simple, ¿no es así? Y así es como podríamos usarlo. Entonces, básicamente, por defecto, el ícono podría mostrarse a la izquierda Pero, ¿qué pasa si queremos especificar en qué lado queremos que se muestre? ¿Como, tal vez no a la izquierda, sino a la derecha? Bueno, ¿adivina qué? ¡Otra prop! Entonces, por ejemplo, podríamos pasar una prop como posición del ícono, ¿verdad? Por defecto podríamos establecerlo a la izquierda. Y luego, si, por ejemplo, era a la derecha, podríamos especificar algunas clases, ¿verdad?, que se agregarían en el contenedor de alerta. Ten en cuenta que estoy usando Tailwind aquí para las clases.

2. Usando la Composición para Flexibilidad

Short description:

El enfoque de configuración puede volverse problemático cuando agregar más funcionalidad requiere agregar más props y lógica condicional. Se vuelve más difícil extender o sobrescribir la lógica del componente. Por otro lado, la composición ofrece un enfoque diferente. Al usar múltiples componentes y pasar props, podemos lograr flexibilidad sin una lógica condicional excesiva. En el ejemplo, el componente de alerta se compone de los componentes de envoltura de alerta, contenido de alerta y cuerpo de alerta, lo que permite un mayor control y una extensión más fácil.

Y sí, así es como lo usaríamos, solo más props. Entonces, ese fue el enfoque de configuración, ¿verdad? Básicamente, cada vez que necesitamos agregar más funcionalidad, agregamos más props. Pero, bueno, eso puede ser problemático en algún momento. Porque lo que pasa es que, para cada nueva variante y funcionalidad, necesitamos agregar más y más props y lógica condicional, ¿verdad?

Y a veces puede ser mucho más difícil sobrescribir la lógica ya definida dentro de un componente o incluso extenderlo. Entonces, eso no es realmente lo mejor. El enfoque de configuración lo hace mucho más difícil. Entonces, a veces, si un componente no puede ser extendido, podríamos necesitar construir una nueva versión de él. Bueno, en cuanto a las ventajas, obviamente un enfoque de configuración, bueno, un componente construido con un enfoque de configuración es rápido y fácil de usar, ¿verdad? Porque solo necesitas saber qué props están realmente disponibles y qué necesitas proporcionar. Entonces, sí. Básicamente, diferentes funcionalidades y variantes visuales pueden ser controladas a través de props y eso es todo. Y otro beneficio de eso es que es mucho más difícil desviarse del sistema de design, ¿verdad? Porque lo que pasa es que solo puedes proporcionar props y eso es todo. No puedes hacer realmente nada más con él. Entonces, bueno, esto mantiene la UI y el comportamiento consistentes.

Pero, sí, como mencioné, el problema es que no podemos extender fácilmente el componente de construcción de configuración o sobrescribirlo. Entonces, ¿qué podemos hacer? Bueno, quiero decir que obviamente podríamos proporcionar tal vez props como, digamos, un render icon, render header, ya sabes, render body y así sucesivamente. Pero de nuevo, más props serían solo más desordenados. Entonces, habría más lógica condicional dentro del componente de alerta. Entonces, en lugar de intentar configurar todo, ¿qué tal si usamos un enfoque diferente, la composición. Entonces, en este ejemplo, tenemos tres componentes. Primero, el envoltorio de alerta, luego el contenido de alerta y el cuerpo de alerta. Y al cuerpo de alerta, le pasamos el mensaje de texto. Sé que tres componentes solo para el mensaje de texto es un poco mucho, pero quédate conmigo. Entonces, ¿cómo podría verse? Básicamente, el componente de alerta, obviamente, recibiría algunas props. Luego renderizaría un div con estilos apropiados y children, ¿verdad? Entonces, en este caso, los children serían el contenido de alerta y el cuerpo de alerta. Luego tenemos el contenido de alerta. Como ves, es muy similar al componente de alerta. Porque, de nuevo, solo recibe las props. Y tiene un div con algunos estilos. Y en realidad, bueno, lo mismo se aplicaría al cuerpo de alerta. Sé que hay un poco de repetición,

3. Uso de la API de Contexto para el Estilo de Variantes

Short description:

En este ejemplo, podemos usar diferentes componentes para construir la funcionalidad de alerta, incluyendo el marcado personalizado. Para proporcionar variantes a componentes como alertHeader y alertBody, podemos usar la API de contexto. La variante se pasa como una prop al proveedor de contexto de variante, que luego la proporciona a todos los componentes en el árbol de componentes. Esto permite un estilo y especificación de clase apropiados para el componente de alerta. La fábrica de contexto crea el contexto y el consumidor para un fácil consumo en otros componentes.

y ya tenemos algunos de los componentes, pero vale la pena al final. Solo recuerda que este es un ejemplo de contrato. Entonces, sí, así es como lo usamos. Ahora, si quisiéramos agregar, digamos un encabezado de alerta, bueno, no necesitamos agregar una prop. Solo agregamos otro componente, como alertHeader, básicamente. Entonces, todos estos componentes son solo bloques de construcción que nosotros usamos para componer la funcionalidad. Y ¿qué pasa si, digamos, sí, primero de nuevo, nuestro encabezado en este caso también es muy similar a otros componentes. Solo recibe las props, renderiza el diff con los estilos correctos y luego finalmente los children. Ahora bien, ¿qué pasaría si quisiéramos tener variantes? Bueno, supongo que podríamos pasar una prop al componente de alerta. Por supuesto, también podríamos crear un componente para ello. Pero para este ejemplo, esto servirá. Así que pasaríamos una prop de variante a la alerta. Pero ahora lo que pasa es que no podemos componer los componentes correctamente, para construir la funcionalidad de alerta. Pero lo que pasa es que nosotros también podemos usar no solo los bloques de construcción, los componentes que construimos específicamente para la alerta, sino que en realidad podemos usar cualquier marcado personalizado que queramos. Si realmente lo quisiéramos, no podríamos usar ninguno de estos bloques de construcción, solo el componente de alerta.

Entonces, ¿cómo proporcionamos una variante a todos estos otros componentes como alertHeader y alertBody? Porque necesitan saber cuál es la variante. Porque necesitan tener estilos apropiados. Por ejemplo, el encabezado y el cuerpo para la variante de éxito tienen un texto verde oscuro, mientras que el fondo de la alerta es claro. Y también, tenemos el borde a la izquierda que es oscuro. Entonces, lo que podemos hacer es usar la API de contexto para proporcionar la variante que se especificó a todos los componentes en el árbol de componentes. Entonces, en este caso, recibimos la variante como una prop, y luego la pasamos al proveedor de contexto de variante. Además de eso, también lo usamos para especificar las clases apropiadas para el componente de alerta. Ahora, veamos cómo podemos construir este proveedor de contexto de variante. Así que he usado un pequeño ayudante de fábrica de contexto, llegaremos a él en un momento. Básicamente, solo devuelve un hook personalizado que consumirá el contexto y el contexto en sí. Y como puedes ver, en la línea cinco aquí, el useVariantContext se exporta para que pueda ser consumido en otros componentes. Y luego en el proveedor de contexto de variante, básicamente solo renderizamos el proveedor y pasamos la variante a él. Y eso es todo. A continuación. Así que aquí tenemos la fábrica de contexto, básicamente, crea el contexto, crea el consumidor y los devuelve.

4. Uso de Variantes e Iconos

Short description:

Actualizamos los componentes de encabezado y cuerpo de alerta para tener acceso a la variante. Usamos el hook de variante y consumimos el contexto para aplicar estilos. Agregar un icono es fácil utilizando un componente preconstruido o un marcado personalizado. Usamos un mapa de configuración de iconos para mapear iconos a componentos. Consumimos el contexto de variante para agregar estilos apropiados al icono. El enfoque de composición es flexible y permite una fácil extensión de la funcionalidad. Sin embargo, requiere componer bloques de construcción y entender su composición. El enfoque de configuración solo requiere proporcionar props.

Ahora, encabezado de alerta. Sí. Así que necesitamos actualizar el componente de encabezado y cuerpo de alerta porque ahora también necesitan acceso a la variante. Así que importamos este hook de variante, consumimos el contexto y luego lo usamos para aplicar estilos apropiados. Y hacemos lo mismo en el cuerpo de la alerta, de nuevo consumimos el contexto y aplicamos los estilos.

Bien. Siguiente. Así que tenemos el componente de alerta con variantes e iconos, ¿verdad? Así que si quisiéramos añadir un icono, de nuevo, otro bloque de construcción, ¿verdad? Podemos simplemente usar un componente que ya fue construido como parte de, digamos, todos los componentes de alerta y pasar un icono específico. O si quisiéramos, incluso podríamos añadir algún marcado personalizado para ello. Ahora, ¿cómo lo usaríamos? Así que primero podemos tener un mapa de configuración de iconos, donde básicamente el icono se mapea a, digamos, iconos sfg o cualquier componente que quisieras usar. A continuación, usamos la prop de icono para recuperar uno de los iconos que son compatibles. Y luego si tenemos uno, entonces renderizamos el marcado para ello. Además de eso, también consumimos el contexto de variante para que podamos añadir estilos apropiados al icono, por ejemplo, colores correctos. Como en nuestro ejemplo, el icono de éxito obviamente será verde mientras que el icono de advertencia será naranja. Así que en cuanto a las posiciones, básicamente, podríamos mover el componente de icono de alerta al fondo y podríamos añadirle algunos estilos. Por ejemplo, en este caso, el icono de alerta, porque fue movido al fondo, se renderizará después del contenido de la alerta por lo que estaría en el lado derecho. Y luego, por ejemplo, podemos añadir algún margen izquierdo automático con algo de acolchado derecho con algún valor de margen derecho para tenerlo posicionado en el lado derecho, como puedes ver aquí.

Así que eso fue el enfoque de composición. Así que obviamente el enfoque de composición es extremadamente flexible, ¿verdad? Porque básicamente usas los componentes, que son bloques de construcción, para componer la funcionalidad. Si tú, por ejemplo, necesitas algo más personalizado, puedes simplemente crear un nuevo marcado, ¿verdad? Marcado personalizado, o puedes añadir más bloques de construcción y eso es todo. Así que sí, por eso el enfoque de composición es realmente flexible. Y no es difícil, ya sabes, extender la funcionalidad, o ni siquiera tienes que sobrescribir nada, ¿verdad? Porque simplemente compones todo. Así que, sí, es muy fácil crear diferentes funcionalidades y variantes de UI con el enfoque de composición. Sin embargo, hay algunas desventajas en este enfoque, ¿verdad? Porque obviamente necesitas componer los bloques de construcción tú mismo, ¿verdad? Para crear este completamente componente o característica funcional. Por eso, necesitas saber cómo funcionan los bloques de construcción, qué hacen y cómo deben ser compuestos. Esto no es el caso cuando se utiliza el enfoque de configuración. Porque con el enfoque de configuración, básicamente solo necesitas saber qué props se supone que debes proporcionar. Y eso es todo. En el enfoque de configuración, básicamente el componente se encarga de todo,

5. Combinando Composición y Configuración

Short description:

El enfoque de composición ofrece más flexibilidad pero requiere más conocimiento de cómo componer bloques de construcción. El enfoque de configuración es menos flexible pero más sencillo de usar y ayuda a mantener la consistencia. Ambos enfoques pueden combinarse para obtener lo mejor de ambos mundos.

correcto, bajo el capó. Porque no sabes... es posible que no sepas lo que está pasando allí. Solo necesitas saber las props y qué valores necesitas pasar. Eso es todo. Mientras que con el enfoque de composición, sí necesitas saber qué están haciendo los bloques de construcción y cómo son... cómo deben ser utilizados. Y bueno, obviamente, otra desventaja es que lleva más tiempo y code, correcto, para crear lo mismo. Porque, de nuevo, necesitas componer los bloques de construcción tú mismo.

Y otra desventaja es que es mucho más fácil desviarse del sistema de design y enviar una UI y comportamiento inconsistentes. Obviamente, porque básicamente puedes componer los bloques de construcción, sabes, como quieras, correcto. Por lo tanto, sería más fácil cometer errores y enviar una UI inconsistente, básicamente, proporcionando clases incorrectas o ordenando los bloques de construcción de la manera incorrecta. Esto no ocurre con el enfoque de configuración. Porque, de nuevo, solo proporcionas props y eso es todo. Entonces, de nuevo, ambos enfoques tienen sus pros y contras, correcto. Entonces la pregunta es, ¿cuándo deberíamos usar cuál? Bueno, técnicamente, ¿por qué no ambos? Correcto, porque lo que podemos hacer es primero usar el enfoque de composición para básicamente construir, bueno, crear los componentes que son los bloques de construcción, correcto, y luego podemos usarlos para crear un componente de configuración, como aquí tenemos un ejemplo. De nuevo, como hicimos en el ejemplo de configuración recibimos una serie de props, correcto, para la alerta, luego tenemos el componente de línea base que básicamente acepta la variante y el nombre de la clase. Luego también tenemos el icono de alerta. Si se pasó el icono, entonces se renderizará. Y contenido de alerta, donde si se pasó el encabezado, entonces se renderizaría el componente de alerta. Y si se pasó el texto para los hijos, entonces se renderizaría el cuerpo de la alerta. Y sí, así es como puedes combinar composición y enfoques de configuración para básicamente construir componentes. Entonces la mayoría de las veces, solo puedes usar un componente configurado, pero si necesitas más flexibilidad, correcto, entonces tienes estos bloques de construcción disponibles para ti. Entonces, en resumen, el enfoque de composición ofrece más flexibilidad, pero sí requiere más conocimiento de cómo componer los bloques de construcción, ¿verdad? Y cómo funcionan. Por otro lado, el enfoque de configuración es menos flexible, pero es más sencillo de usar y facilita el apego al sistema de design. Pero sí, podemos combinar ambos enfoques para obtener lo mejor de ambos mundos. Así que puedes encontrar ejemplos de code para esta presentación en este repositorio de GitHub. Además, si te gustaría aprender más sobre advanced patterns, best practices, técnicas para muchos conceptos cruciales como la gestión de estado local y global, proyecto escalable architecture, performance optimization, gestión de APIs, testing, y mucho, mucho más, definitivamente deberías echar un vistazo a React.io's Road to Enterprise. Y si te gustaría ponerte en contacto, puedes encontrarme en Twitter, LinkedIn, CodeMentor, y también en la plataforma Road to Enterprise. Bueno, eso es todo por hoy. Espero que hayas disfrutado de la charla, y que tengas un gran día.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Scaling Up with Remix and Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Scaling Up with Remix and Micro Frontends
Top Content
Do you have a large product built by many teams? Are you struggling to release often? Did your frontend turn into a massive unmaintainable monolith? If, like me, you’ve answered yes to any of those questions, this talk is for you! I’ll show you exactly how you can build a micro frontend architecture with Remix to solve those challenges.
Design Systems: Walking the Line Between Flexibility and Consistency
React Advanced Conference 2021React Advanced Conference 2021
47 min
Design Systems: Walking the Line Between Flexibility and Consistency
Top Content
Design systems aim to bring consistency to a brand's design and make the UI development productive. Component libraries with well-thought API can make this a breeze. But, sometimes an API choice can accidentally overstep and slow the team down! There's a balance there... somewhere. Let's explore some of the problems and possible creative solutions.
Full Stack Components
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Full Stack Components
Top Content
Remix is a web framework that gives you the simple mental model of a Multi-Page App (MPA) but the power and capabilities of a Single-Page App (SPA). One of the big challenges of SPAs is network management resulting in a great deal of indirection and buggy code. This is especially noticeable in application state which Remix completely eliminates, but it's also an issue in individual components that communicate with a single-purpose backend endpoint (like a combobox search for example).
In this talk, Kent will demonstrate how Remix enables you to build complex UI components that are connected to a backend in the simplest and most powerful way you've ever seen. Leaving you time to chill with your family or whatever else you do for fun.
Understanding React’s Fiber Architecture
React Advanced Conference 2022React Advanced Conference 2022
29 min
Understanding React’s Fiber Architecture
Top Content
We've heard a lot about React's Fiber Architecture, but it feels like few of us understand it in depth (or have the time to). In this talk, Tejas will go over his best attempt at understanding Fiber (reviewed by other experts), and present it in an 'explain-like-I'm-five years old' way.
Towards a Standard Library for JavaScript Runtimes
Node Congress 2022Node Congress 2022
34 min
Towards a Standard Library for JavaScript Runtimes
Top Content
You can check the slides for James' talk here.
The Eternal Sunshine of the Zero Build Pipeline
React Finland 2021React Finland 2021
36 min
The Eternal Sunshine of the Zero Build Pipeline
For many years, we have migrated all our devtools to Node.js for the sake of simplicity: a common language (JS/TS), a large ecosystem (NPM), and a powerful engine. In the meantime, we moved a lot of computation tasks to the client-side thanks to PWA and JavaScript Hegemony.
So we made Webapps for years, developing with awesome reactive frameworks and bundling a lot of dependencies. We progressively moved from our simplicity to complex apps toolchains. We've become the new Java-like ecosystem. It sucks.
It's 2021, we've got a lot of new technologies to sustain our Users eXperience. It's time to have a break and rethink our tools rather than going faster and faster in the same direction. It's time to redesign the Developer eXperience. It's time for a bundle-free dev environment. It's time to embrace a new frontend building philosophy, still with our lovely JavaScript.
Introducing Snowpack, Vite, Astro, and other Bare Modules tools concepts!

Workshops on related topic

AI on Demand: Serverless AI
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
AI on Demand: Serverless AI
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
In this workshop, we discuss the merits of serverless architecture and how it can be applied to the AI space. We'll explore options around building serverless RAG applications for a more lambda-esque approach to AI. Next, we'll get hands on and build a sample CRUD app that allows you to store information and query it using an LLM with Workers AI, Vectorize, D1, and Cloudflare Workers.
Build a Data-Rich Beautiful Dashboard With MUI X's Data Grid and Joy UI
React Summit 2023React Summit 2023
137 min
Build a Data-Rich Beautiful Dashboard With MUI X's Data Grid and Joy UI
Top Content
WorkshopFree
Sam Sycamore
Siriwat (Jun) Kunaporn
2 authors
Learn how to put MUI’s complete ecosystem to use to build a beautiful and sophisticated project management dashboard in a fraction of the time that it would take to construct it from scratch. In particular, we’ll see how to integrate the MUI X Data Grid with Joy UI, our newest component library and sibling to the industry-standard Material UI.
Table of contents:- Introducing our project and tools- App setup and package installation- Constructing the dashboard- Prototyping, styling, and themes - Joy UI features- Filtering, sorting, editing - Data Grid features- Conclusion, final thoughts, Q&A
Hands-on with AG Grid's React Data Grid
React Summit 2022React Summit 2022
147 min
Hands-on with AG Grid's React Data Grid
WorkshopFree
Sean Landsman
Sean Landsman
Get started with AG Grid React Data Grid with a hands-on tutorial from the core team that will take you through the steps of creating your first grid, including how to configure the grid with simple properties and custom components. AG Grid community edition is completely free to use in commercial applications, so you'll learn a powerful tool that you can immediately add to your projects. You'll also discover how to load data into the grid and different ways to add custom rendering to the grid. By the end of the workshop, you will have created an AG Grid React Data Grid and customized with functional React components.- Getting started and installing AG Grid- Configuring sorting, filtering, pagination- Loading data into the grid- The grid API- Using hooks and functional components with AG Grid- Capabilities of the free community edition of AG Grid- Customizing the grid with React Components
Practice TypeScript Techniques Building React Server Components App
TypeScript Congress 2023TypeScript Congress 2023
131 min
Practice TypeScript Techniques Building React Server Components App
Workshop
Maurice de Beijer
Maurice de Beijer
In this hands-on workshop, Maurice will personally guide you through a series of exercises designed to empower you with a deep understanding of React Server Components and the power of TypeScript. Discover how to optimize your applications, improve performance, and unlock new possibilities.
 
During the workshop, you will:
- Maximize code maintainability and scalability with advanced TypeScript practices
- Unleash the performance benefits of React Server Components, surpassing traditional approaches
- Turbocharge your TypeScript with the power of Mapped Types
- Make your TypeScript types more secure with Opaque Types
- Explore the power of Template Literal Types when using Mapped Types
 
Maurice will virtually be by your side, offering comprehensive guidance and answering your questions as you navigate each exercise. By the end of the workshop, you'll have mastered React Server Components, armed with a newfound arsenal of TypeScript knowledge to supercharge your React applications.
 
Don't miss this opportunity to elevate your React expertise to new heights. Join our workshop and unlock the potential of React Server Components with TypeScript. Your apps will thank you.
High-performance Next.js
React Summit 2022React Summit 2022
50 min
High-performance Next.js
Workshop
Michele Riva
Michele Riva
Next.js is a compelling framework that makes many tasks effortless by providing many out-of-the-box solutions. But as soon as our app needs to scale, it is essential to maintain high performance without compromising maintenance and server costs. In this workshop, we will see how to analyze Next.js performances, resources usage, how to scale it, and how to make the right decisions while writing the application architecture.
From Idea to Production: React Development with a Visual Twist
React Summit 2023React Summit 2023
31 min
From Idea to Production: React Development with a Visual Twist
WorkshopFree
Omer Kenet
Omer Kenet
Join us for a 3-hour workshop that dives into the world of creative React development using Codux. Participants will explore how a visually-driven approach can unlock creativity, streamline workflows, and enhance their development velocity. Dive into the features that make Codux a game-changer for React developers. The session will include hands-on exercises that demonstrate the power of real-time rendering, visual code manipulation, and component isolation all in your source code.
Table of the contents: - Download & Setup: Getting Codux Ready for the Workshop- Project Picker: Cloning and Installing a Demo Project- Introduction to Codux Core Concepts and Its UI- Exercise 1: Finding our Feet- Break- Exercise 2: Making Changes While Staying Effective- Exercise 3: Reusability and Edge Case Validation- Summary, Wrap-Up, and Q&A