Por Qué React No Debería Adoptar Signals

Rate this content
Bookmark

Knockout lo tuvo primero, Vue siempre lo estuvo ocultando, Solid lo hizo popular, y ahora Svelte y Angular también lo están integrando: reactividad basada en signals. Si todos estos otros frameworks se apoyan en este primitivo especial, ¿debería React hacer lo mismo?

En esta charla, examinaremos los inconvenientes menos discutidos de los signals y explicaremos por qué creo que React debería apegarse a su enfoque actual de valores y funciones simples.

This talk has been presented at React Advanced 2024, check out the latest edition of this React Conference.

Andreas Roth
Andreas Roth
10 min
28 Oct, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Hoy quiero hablar sobre por qué React no debería adoptar signals. Al adoptar signals en React, podemos rastrear automáticamente las dependencias para efectos y memos, lo que lleva a una representación de componentes más eficiente. Acceder a partes específicas del JSX que leen signals permite una reactividad más detallada a través de los límites de los componentes. Adoptar signals en React requiere migrar a componentes de ejecución única, que solo actualizan partes específicas de la aplicación. Esto puede volverse complejo cuando se trata de componentes que leen de diferentes signals. En contraste, React asume que todo puede cambiar y refuerza esta suposición a través de linters y compiladores, lo que lleva a un código más robusto y actualizaciones más fáciles. Si estás interesado en signals en React o necesitas mejoras de rendimiento, ¡hablemos!
Video transcription and chapters available for users with access.

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

SolidJS: Reactivity Unchained
JSNation 2022JSNation 2022
20 min
SolidJS: Reactivity Unchained
Solid.js is a declarative JavaScript library for building user interfaces that addresses performance optimization. It introduces fine-grained reactivity and avoids using a virtual DOM. The Talk explores rethinking performance and reactivity in web applications, understanding reactivity and primitives, and creating DOM elements and using JSX in Solid.js. It also covers rendering components, sharing state, and the advantages of fine-grained rendering and the reactive approach in Solid.js.
5 Años de Construir React Table
React Summit 2022React Summit 2022
24 min
5 Años de Construir React Table
Top Content
React Table is a popular table library that started with HTML5 tables and transitioned to React. It faced challenges with integration and user requests, leading to the development of React Table. The introduction of the Headless UI pattern and TypeScript support improved the library's capabilities and quality. Generics and TypeScript played a significant role in reducing the code size and improving development. React Table is now going framework agnostic and partnering with AG Grid.
Gestión de Estado Moderna con Vue 3
Vue.js London Live 2021Vue.js London Live 2021
22 min
Gestión de Estado Moderna con Vue 3
Top Content
Vanessa introduces Vue Free and discusses the benefits of using the Composition API. The order of execution and grouping logical units using the Composition API is explained. The Composition API is used for state management and refactoring components. The speaker shares their initial experience with state management using Vuex. Composables are explored as an alternative for state management in Vue 3.
Llevando Vue.js al Backend
Vue.js London Live 2021Vue.js London Live 2021
23 min
Llevando Vue.js al Backend
This talk explores using Vue.js in the backend, specifically focusing on Vue 3 Reactivity. It discusses how Vue 3 Reactivity leverages ES6 proxies to update changes and intercept hooks. The talk also covers implementing Vue.js backend with live demos, showcasing the modification of proxies and the use of reactive functions. It demonstrates the creation of a reactive array and the implementation of join, leave, and message functionalities. The talk concludes by mentioning the possibility of using computed properties and inviting further questions.

Workshops on related topic

Construye una Biblioteca Universal de Datos Reactiva con Starbeam
JSNation 2023JSNation 2023
66 min
Construye una Biblioteca Universal de Datos Reactiva con Starbeam
WorkshopFree
Yehuda Katz
Yehuda Katz
Esta sesión se centrará en los bloques de construcción universales de Starbeam. Usaremos Starbeam para construir una biblioteca de datos que funcione en múltiples frameworks.Escribiremos una biblioteca que almacene en caché y actualice datos, y admita relaciones, ordenación y filtrado.En lugar de obtener datos directamente, funcionará con datos obtenidos de forma asíncrona, incluidos los datos obtenidos después de la representación inicial. Los datos obtenidos y actualizados a través de web sockets también funcionarán bien.Todas estas características serán reactivas, por supuesto.Imagina que filtras tus datos por su título y luego actualizas el título de un registro para que coincida con el filtro: cualquier resultado que dependa de los datos filtrados se actualizará para reflejar el filtro actualizado.En 90 minutos, construirás una increíble biblioteca de datos reactiva y aprenderás una nueva herramienta poderosa para construir sistemas reactivos. La mejor parte: la biblioteca funciona en cualquier framework, incluso si no piensas en (o dependes de) ningún framework al construirla.
Tabla de contenidos- Almacenar un registro obtenido en una celda- Almacenar múltiples registros en un Mapa reactivo- La iteración reactiva es una iteración normal- El filtrado reactivo es un filtrado normal- Obtener más registros y actualizar el Mapa- La ordenación reactiva es una ordenación normal (¿se está volviendo un poco repetitivo?)- Modelar la invalidación de la caché como datos- Bonus: relaciones reactivas