validar validaciones validacion regulares react formularios formulario form expresiones ejemplos crear con campos redux redux-form react-redux-form

redux - validaciones - validar campos en react



Componente de campos de formulario de Redux y validación (1)

Hay otra manera de hacerlo, seleccionando el valor específico usando los selectores de forma reducida ( http://redux-form.com/6.0.5/docs/api/Selectors.md/ ) desde la tienda redux en su mapStateToProps y luego, renderizando condicionalmente ciertos componentes.

Sin embargo, creo que Fields es exactamente lo que deberías usar en esta circunstancia. Creo que esa advertencia es en gran medida para advertir a la gente que no vaya y ponga su forma completa en Fields, tener esos 3 campos de rerender no es gran cosa.

El proceso de pensamiento que condujo a la creación de Fields en primer lugar es probablemente la mejor manera de manejar esto: https://github.com/erikras/redux-form/issues/841

Estoy usando el redux para ocultar y mostrar componentes basados ​​en un valor.

La documentación del formulario de Redux menciona lo siguiente:

La conexión a múltiples campos se debe usar con moderación, ya que requerirá que todo el componente se vuelva a renderizar cada vez que cambie alguno de los campos a los que está conectado. Esto puede ser un cuello de botella de rendimiento. A menos que sea absolutamente necesario, debe conectarse a sus campos individualmente con.

No estoy seguro de si mi solución para ocultar y mostrar campos basados ​​en botones de opción es lo suficientemente buena como para usar Fields den la advertencia de usar con moderación.

¿Puede aclarar si mi componente merece razones suficientes para usar Fields ? Si no, ¿cuál es una forma alternativa de implementar?

Además, ¿cómo implementan los fields las validaciones?

<div> <form> <Fields component={RadioButtonGroupField} names={[''radioButtonGroup'', ''nameTextField'', ''nickNameTextField'']} /> </ form> </div> function RadioButtonGroupField(fields) { return( <div> <RadioButtonGroupComponent {...fields.radioButtonGroup.input} {...fields.radioButtonGroup.meta} /> { (fields.radioButtonGroup.input.value === ''name'' || fields.radioButtonGroup.input.value === ''both'') && <NameTextFieldComponent {...fields.radioButtonGroup.input} {...fields.radioButtonGroup.meta} /> } { (fields.radioButtonGroup.input.value === ''nickname'' || fields.radioButtonGroup.input.value === ''both'') && <NicknameTextFieldComponent {...fields.radioButtonGroup.input} {...fields.radioButtonGroup.meta} /> } </div> ); }