Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

165
Views
¿Puede eludir la gestión de estado para objetos simples? (estado global compartido)

¿Puedes instanciar globalmente una clase y eso será confiable en react-native? es decir

 // logs.ts const instance = new Instance() export { instance } // something.tsx const Component = () => { instance.method() ... }

Si el method incrementara una propiedad en 1, ¿se habría incrementado esa propiedad siempre la cantidad de veces que se llamó al method a lo largo del proyecto?

El principal beneficio aquí es la simplicidad. Por ejemplo, es más fácil definir

 class SomeClass { constructor(properties){} addProperty(key,value){ this.properties[key] = value } }

de lo que es hacer el equivalente en redux. ¿Por qué la gente no hace lo anterior con más frecuencia?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Simplemente cambiar el valor en algún objeto no dará como resultado cambios de estado/hará que un componente se vuelva a renderizar. Todavía necesita un proveedor estatal para configurar el estado. Si desea cambiar el estado de ese proveedor, deberá ejecutar setState (o dispatch y useReducer ), lo que significa que deberá pasar el envío de esa función a todos sus elementos secundarios. A medida que su aplicación crezca, definitivamente querrá/necesitará useReducer y tal vez incluso varios proveedores, volverá a implementar redux, que de todos modos tiene solo unas 200 líneas de código. Entonces, la pregunta será por qué volvió a implementar redux, que es una biblioteca tan popular que la mayoría de la gente sabe exactamente cómo usar y hay mucha documentación, a favor de su versión local de redux que no proporciona mucho valor adicional ?

En redux, un beneficio principal son las herramientas como redux-logger, redux-thunk, herramientas de desarrollo de redux y viajes en el tiempo y otras, etc., que le permiten reproducir los cambios realizados o deshacerlos. Claro que es fácil modificar un objeto, pero usar redux le permite ver de manera comprobable y consistente cómo un objeto (el estado redux) cambia con el tiempo y deshacerlo. Puede probar que los creadores de acciones devuelven las acciones correctas. Puede probar por separado que dadas acciones específicas, el reductor se comporta como se esperaba y reproducirlo con mockStore. En resumen, al usar redux, obtiene la versión empresarial respaldada por una gran comunidad de expertos que han ayudado a mejorar e implementar esencialmente la clase simple que demostró.

about 4 years ago · Juan Pablo Isaza Report

0

Aunque puede hacer esto, se separa del punto de redux. Redux está destinado a ser un almacén de administración de estado centralizado y, por lo tanto, permite que los componentes

  1. acceda al estado compartido desde una sola ubicación y analice los estados compartidos, porque proviene de un solo lugar.
  2. rastrear el historial y las acciones tomadas para obtener el estado allí
  3. hace que el mantenimiento, la depuración y la colaboración en una base de código sean mucho más fáciles.

Haciendo la primera opción, se pierden todos estos beneficios.

Dicho esto, si tiene varios componentes en un archivo y desea que todos compartan el mismo estado global (sin exportarlo), usar el constructor de clases para hacerlo no es gran cosa, siempre que el proyecto no lo sea. t siendo trabajado por otros desarrolladores.

Sin embargo, tendría más sentido en ese caso crear una clase de componente general y transmitir el estado, ya que ese es el objetivo de React. Declarar una clase externa e intentar administrar el estado de la primera manera sería un enfoque declarativo, que es lo que React no quiere que hagan los desarrolladores (es decir, hay una mejor manera, como crear una jerarquía de componentes). De esa manera, los componentes se vuelven a renderizar cuando cambia el valor y no surgen errores extraños.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!