mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 08:19:52 +03:00
optimizations
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { memo, useCallback, useEffect, useState } from 'react';
|
||||
import type { FC } from 'react';
|
||||
|
||||
import CancelIcon from '@mui/icons-material/Cancel';
|
||||
@@ -45,7 +45,14 @@ const User: FC<UserFormProps> = ({
|
||||
}) => {
|
||||
const { LL } = useI18nContext();
|
||||
|
||||
const updateFormValue = updateValue(setUser);
|
||||
const updateFormValue = updateValue((updater) => {
|
||||
setUser((prevState) => {
|
||||
if (!prevState) return prevState;
|
||||
return updater(
|
||||
prevState as unknown as Record<string, unknown>
|
||||
) as unknown as UserType;
|
||||
});
|
||||
});
|
||||
const [fieldErrors, setFieldErrors] = useState<ValidateFieldsError>();
|
||||
const open = !!user;
|
||||
|
||||
@@ -55,7 +62,7 @@ const User: FC<UserFormProps> = ({
|
||||
}
|
||||
}, [open]);
|
||||
|
||||
const validateAndDone = async () => {
|
||||
const validateAndDone = useCallback(async () => {
|
||||
if (user) {
|
||||
try {
|
||||
setFieldErrors(undefined);
|
||||
@@ -65,7 +72,7 @@ const User: FC<UserFormProps> = ({
|
||||
setFieldErrors(error as ValidateFieldsError);
|
||||
}
|
||||
}
|
||||
};
|
||||
}, [user, validator, onDoneEditing]);
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
@@ -137,4 +144,4 @@ const User: FC<UserFormProps> = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default User;
|
||||
export default memo(User);
|
||||
|
||||
Reference in New Issue
Block a user