Skip to content

Commit 82e0b07

Browse files
committed
chore: use Map to improve performance
1 parent 93359a0 commit 82e0b07

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

site/src/hooks/useSyncFormParameters.ts

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,18 @@ export function useSyncFormParameters({
2929
if (!parameters) return;
3030
const currentFormValues = formValuesRef.current;
3131

32-
const newParameterValues = parameters.map((param) => {
33-
return {
32+
const newParameterValues = parameters.map((param) => ({
3433
name: param.name,
3534
value: param.value.valid ? param.value.value : "",
36-
};
37-
});
35+
}));
36+
37+
const currentFormValuesMap = new Map(
38+
currentFormValues.map((value) => [value.name, value.value]),
39+
);
3840

3941
const isChanged =
4042
currentFormValues.length !== newParameterValues.length ||
41-
newParameterValues.some(
42-
(p) =>
43-
!currentFormValues.find(
44-
(formValue) =>
45-
formValue.name === p.name && formValue.value === p.value,
46-
),
47-
);
43+
newParameterValues.some((p) => !currentFormValuesMap.has(p.name) || currentFormValuesMap.get(p.name) !== p.value);
4844

4945
if (isChanged) {
5046
setFieldValue("rich_parameter_values", newParameterValues);

0 commit comments

Comments
 (0)