javascript - login react native redux
Gestión de estado para animaciones utilizando React Native y Redux (1)
He estado desarrollando Reaccionar por solo 9 meses, así que probablemente soy un n00b comparado con gente como tú, Matt, y puedo decir sin mucha vacilación que el redux es asombroso, pero que no debería reemplazar el estado de los componentes internos en todas las circunstancias. Especialmente para cosas como animaciones. Usted mismo lo preguntó, pero vuelvo a preguntar: ¿por qué debería ser así en un estado global? Redux está ahí para permitir que los componentes de una aplicación se actualicen cuando suceden cosas en su aplicación. Sin embargo, eso no significa que nunca deba haber ningún estado en ninguna parte de su aplicación, excepto en una tienda de Redux.
Un hombre mucho más inteligente que yo dijo
Si te sientes presionado para hacer las cosas "al estilo Redux", puede ser una señal de que tú o tus compañeros de equipo se lo están tomando demasiado en serio. Es solo una de las herramientas en su caja de herramientas, un experimento que se ha vuelto loco. El estado local está bien ...
La compensación que ofrece Redux es agregar indirección para desacoplar "lo que sucedió" de "cómo cambian las cosas". ¿Siempre es bueno hacer? No. Es una compensación.
¿Qué es esto que estoy citando? ¿Qué clase de desarrollador blasfemo de React podría decir que Redux no debería usarse para todas las cosas? ¿Reaccionar?
Te diré quién. El creador de Redux .
https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367#.flb8fzjr8
TLDR Use Redux donde sea útil y donde tenga sentido . Es increíble por lo que se supone que debe hacer. Pero no trates de meter la clavija redonda en un agujero cuadrado.
Espero que esto sea útil.
Fondo
He estado compilando una aplicación con React Native & Redux para evaluar si usarla para un próximo proyecto sobre Swift y hacerlo completamente nativo.
Creo sinceramente que las técnicas de Dan Abramov con Redux son un caso de ingeniería sólida. No actualizar el estado y tener la vista como una función del estado es genial, y estoy muy de acuerdo con la idea. Donde me estoy despegando un poco es con lanzar animaciones a la mezcla.
Guión
Las animaciones más complicadas requieren administración estatal, por ejemplo, desvanecer una vista, reemplazar el texto y volver a fundirlo. Solo quiero actualizar el texto a mitad de la animación, y esto es bastante fácil de hacer usando el estado local y el aprovechamiento el marco animado.
Supongamos que el texto que se muestra es manejado por el estado, se actualizaría en el momento en que se cambia el estado a través de un combo de acción y reducción apropiado, pero por el motivo de la presentación lo necesito entre estas dos animaciones.
Un ejemplo de esto sería seleccionar un registro de una lista, donde hay una etiqueta en la pantalla que muestra el nombre del registro seleccionado. Lo ideal es que desee actualizar la tienda global de inmediato, pero realice una transición agradable en la propia etiqueta.
Mis pensamientos
En mi opinión, tiene mucho sentido usar el "estado local" dentro de los componentes para manejar las animaciones, y la tienda principal de Redux para obtener más información general o estado de la arquitectura. El problema es que esto rompe la idea de que la vista es una función del estado global y no estoy seguro de que me sienta bien.
Por otro lado, administrar secuencias de animación, etc. escribiendo montones de acciones, reductores y abarrotando la tienda tampoco se siente limpio.
La pregunta
Sé que React Native está en su infancia, y no todos usan Redux, pero ¿existe una forma generalmente aceptada de administrar animaciones en este tipo de situaciones?