From 54a08a254cef736799c81e62397693ece192fc2d Mon Sep 17 00:00:00 2001 From: Gildas Garcia <1122076+djhi@users.noreply.github.com> Date: Mon, 15 Feb 2021 11:03:42 +0100 Subject: [PATCH] Apply review --- .../src/form/FormTabHeader.tsx | 22 ++++++++++++------- packages/ra-ui-materialui/src/form/index.tsx | 1 + 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/ra-ui-materialui/src/form/FormTabHeader.tsx b/packages/ra-ui-materialui/src/form/FormTabHeader.tsx index 28ab29d5672..9cb30a68543 100644 --- a/packages/ra-ui-materialui/src/form/FormTabHeader.tsx +++ b/packages/ra-ui-materialui/src/form/FormTabHeader.tsx @@ -1,4 +1,5 @@ import * as React from 'react'; +import { useEffect } from 'react'; import { Link, useLocation } from 'react-router-dom'; import MuiTab from '@material-ui/core/Tab'; import classnames from 'classnames'; @@ -18,14 +19,19 @@ export const FormTabHeader = ({ const formGroup = useFormGroup(value); const form = useForm(); const [showError, setShowError] = React.useState(false); - form.subscribe( - state => { - if (!showError && (state.submitting || state.submitFailed)) { - setShowError(true); - } - }, - { submitting: true, submitFailed: true } - ); + + useEffect(() => { + const unsubscribe = form.subscribe( + state => { + if (!showError && (state.submitting || state.submitFailed)) { + setShowError(true); + } + }, + { submitting: true, submitFailed: true } + ); + + return unsubscribe; + }, [form, showError]); return (