Empecé a trabajar en un proyecto de formulario usando el formulario final de React, pero estoy luchando para hacer una pregunta de dos condiciones.
¿Alguien sabe cómo hacer una lógica condicional doble en la forma final de React? A partir de este ejemplo , se da el código de lógica condicional única:
const Condition = ({ when, is, children }) => ( <Field name={when} subscription={{ value: true }}> {({ input: { value } }) => (value === is ? children : null)} </Field>)Sin embargo, no sé cómo hacer una doble condicional que requiera 2 respuestas diferentes de dos preguntas diferentes en el formulario para verificar antes de mostrar la pregunta condicional.
Gracias :)
Puede usar useFormState de react-final-form para obtener el estado actual del formulario, por lo que el componente MultiCondition podría verse así:
const MultiCondition = ({ condition, children }) => { const { values = {} } = useFormState({ subscription: { values: true } }); return condition(values) ? children : null; };que en algún lugar dentro de la forma:
<MultiCondition condition={({ gift, firstName }) => gift && firstName === "Joe"}> <span>gets rendered when condition is satisfied</span> </MultiCondition>