javascript - tutorial - redux-form es Destruir mi estado una vez que el componente está desmontado, ¿qué ofrece?
redux form touched (3)
No estoy pasando ninguna configuración de configuración especial ni estoy configurando / o llamando a destruir ... pero mi estado se está limpiando ... de todos modos para evitar esto? Necesito que el estado se quede porque necesito esos datos en mi aplicación.
prev state: I see it in there... via redux-logger
action: redux-form/Destroy
next state: it''s gone.
Probablemente estés fusionando el estado de las redux-forms
en el tuyo, debes tenerlo en una clave separada. Destroy
acción devuelve indefinido, lo cual está bien, si el reductor redux-forms solo logra que sea parte de la tienda.
Asegúrese de estar siguiendo el paso 1 de este tutorial, especialmente el form: formReducer
parte: http://erikras.github.io/redux-form/#/getting-started?_k=jauvug
Me encontré con este mismo problema personalmente usando Redux Form recientemente
Donde después de despachar una acción y pasar por el reductor, despacho en forma de despacho DESTROY. El comentario de Brennan Cheung me ayudó a darme cuenta de que el estado que estaba devolviendo / modificando en mi reductor tenía información faltante que fue enviada de regreso a la tienda. Después de que arreglé esto, la forma redux ya no despacha la acción destruir automáticamente.
Por ejemplo: Inicialmente, estaba devolviendo esto:
[
{
"id": "dd8684f0-8a8a-11e7-97ac-8350cad5200c",
"timestamp": 1503771468479,
"body": "comment2",
"author": "author2",
"parentId": "ee6a6c5c-1821-4280-80b7-90fa97137137",
"voteScore": 1,
"deleted": false,
"parentDeleted": false
}
]
Cuando en realidad quise devolver esto
{
"ee6a6c5c-1821-4280-80b7-90fa97137137": {
"id": "ee6a6c5c-1821-4280-80b7-90fa97137137",
"timestamp": 1502253747021,
"title": "this is a title",
"body": "this is another body",
"author": "author2",
"category": "category1",
"voteScore": 2,
"deleted": false,
"comments": [
{
"id": "dd8684f0-8a8a-11e7-97ac-8350cad5200c",
"timestamp": 1503771468479,
"body": "comment2",
"author": "author2",
"parentId": "ee6a6c5c-1821-4280-80b7-90fa97137137",
"voteScore": 1,
"deleted": false,
"parentDeleted": false
}
]
}
}
Así que definitivamente verifique en qué estado está regresando a la tienda. ¡Espero que esto ayude!
El subárbol de estado del formulario se destruye cuando el formulario se desmonta, por diseño. Este es el comportamiento predeterminado y esperado.
Desde v6.2.1 en adelante hay una propiedad de configuración de forma destroyOnUnmount
, que habilita / deshabilita explícitamente el comportamiento de borrado de estado en un formulario específico ( documentos aquí )
import { reduxForm } from ''redux-form'';
reduxForm({
form: ''example'',
destroyOnUnmount: false
})(...)
Esto es útil cuando tiene un formulario cuyo estado desea conservar si el usuario lo abandona a la mitad, se desplaza y luego regresa.