Tengo una página de formulario Redux con algunos campos que deben deshabilitarse cuando se cumple una condición.
Mi pregunta es si debo verificar esta condición una vez cuando hago la llamada fetchData al montar el componente o si debo tener algún tipo de función isDisabled() que se llamará en el render (nota: esta función usó los datos obtenidos en el didMount que ya está en el estado).
Quiero saber cuál (si corresponde) sería más eficaz o sería la mejor manera de manejar esto en React.
Intentaré ilustrar las dos opciones.
Opción 1 : establecer en estado en el montaje
componentDidMount() { fetch(...).then(result => { setState({ data: result.data, isDisabled: result.data.fixed === 1 }); }); } render() { const { isDisabled } = this.state; return ( <Form> ... <Field disabled={isDisabled} /> </Form> ); }Opción 2 : verifique si está deshabilitado con una función, evitando usar el estado dos veces para los mismos datos
componentDidMount() { fetch(...).then(result => { setState({ data: result.data }); }); } isDisabled() { const { data } = this.state; return data.fixed === 1; } render() { return ( <Form> ... <Field disabled={this.isDisabled()} /> </Form> ); }Gracias por tu ayuda