Gestion del estado foro

El nuevo director general de Eskom | El Foro de Gestión Negra reacciona

Tengo mucha experiencia con react y typescript donde he encontrado que mobx-state-tree es la solución de gestión de estado más performante, usable y productiva, aunque tiene algunos defectos especialmente alrededor de typescript. Un árbol global de estado que sólo puede ser mutado en funciones de acción específicas + un seguimiento de dependencia implícito de grano fino hace que el rendimiento y la ergonomía sean excelentes, casi sin boilerplate.

La gestión de estado de Reactor tiene muchos problemas obvios que no quiero repetir aquí (estados ligados al árbol de componentes, boilerplate, falta de una buena historia asíncrona, estado derivado difícil de hacer, más ineficiente ya que el estado se eleva a los ancestros comunes, etc).

Redux y otros patrones «simples» similares tienden a sufrir de la repetición de tareas, problemas de rendimiento (no son lo suficientemente precisos en cuanto a lo que se debe volver a renderizar), y no tienen grandes historias en torno a las transformaciones de estado no triviales como las acciones asíncronas, las acciones falibles, los reintentos, etc.

Foro de Gestión Adaptativa (Día 3)

Mi aplicación está en apaisado pero mi teléfono, si se pausa y se vuelve a activar, cambia por un momento a vertical y no sé (si) es posible evitar que incluso la aplicación cambie de orientación (creo que no).

Yo también he visto esto. Parece que los teléfonos (cualquier dispositivo en general) fuerzan un retrato inicialmente – luego respetarán tu (su) configuración de orientación… Lo mismo con una tableta. Si arrancas la tableta en horizontal, se muestra en vertical hasta que arranca bien, entonces cambia a horizontal… Parece que Android arranca siempre en vertical – hasta que se le dice después cómo mostrarlo – cuando averigua cómo está posicionado. Supongo que tiene que empezar en alguna parte – y el retrato es bastante asegurado.

Foro de gestión inmobiliaria de la CAR – mayo de 2021

Me pregunto qué estrategias utiliza la gente para gestionar el estado de los componentes y comunicar los cambios entre ellos. Me encuentro haciendo un montón de self.parent.parent.parent.raise_event, y tratando de adivinar cuántos niveles por encima del padre es, o cuando se trata de comunicarse con los hermanos, haciendo self.parent…raise_event_in_children – y luego tener que escuchar para ese evento y seguir pasando hacia abajo hasta que llegue al nivel correcto.

Voy a tratar de traducir este pequeño tutorial a Python (https://levelup.gitconnected.com/learn-redux-by-building-redux-from-scratch-dcbcbd31b0d0), pero si alguien ya tiene algún código para compartir, eso sería muy apreciado.

En mi caso, intento evitar más de un nivel de padre como regla general, y ningún nivel de padre si puedo evitarlo. Especialmente porque el cambio de componentes dentro y fuera puede crear estragos con ese tipo de código en el futuro.

Viola Thompson Presidenta y Directora General de Información

He pasado statefull:true a la vista de mi tablero de tareas y le he dado stateId también, luego le he dado stateId a cada columna también pero cuando estoy haciendo clic o desmarcando las casillas de verificación de las columnas de estado el evento statesave no se dispara. Así que lo que quiero hacer cuando este evento ocurre, no soy capaz de lo mismo.

– stateful – true o config. Yo recomendaría no usarlo nunca como valor booleano. Usted nunca sabrá lo que está pasando. Así que stateful config muestra qué propiedades deben ser guardadas. En tu caso quieres hacer un seguimiento de la visibilidad. Si miras en Kanban.field.ColumnFilter.updateListItems verás que está controlado por `hidden` config. Así que ese campo tiene que ser guardado y puedes configurar el objeto `stateful` como `{hidden : true}`.

– stateEvents – un array de eventos en los que el gestor de estado comprueba si el estado de un componente ha cambiado y guarda el nuevo estado si es necesario. En tu caso, cuando el componente se oculta o se muestra, se dispara el evento `hide` o `show`. Esto significa que necesitas configurar `stateEvents` como `[‘hide’, ‘show’]`.