Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
joaopalopes24 committed Jan 13, 2025
1 parent 505de32 commit c4ea69c
Showing 1 changed file with 8 additions and 15 deletions.
23 changes: 8 additions & 15 deletions packages/react/src/useForm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -170,10 +170,7 @@ export default function useForm<TForm extends FormDataType>(
const setDataFunction = useCallback(
(keyOrData: FormDataKeys<TForm> | Function | TForm, maybeValue?: any) => {
if (typeof keyOrData === 'string') {
setData((data) => {
const newData = cloneDeep(data)
return set(newData, keyOrData, maybeValue)
})
setData((data) => set(cloneDeep(data), keyOrData, maybeValue))
} else if (typeof keyOrData === 'function') {
setData((data) => keyOrData(data))
} else {
Expand All @@ -189,11 +186,9 @@ export default function useForm<TForm extends FormDataType>(
setDefaults(() => data)
} else {
setDefaults((defaults) => {
const newDefaults = cloneDeep(defaults)
if (typeof fieldOrFields === 'string') {
return set(newDefaults, fieldOrFields, maybeValue)
}
return Object.assign(newDefaults, fieldOrFields)
return typeof fieldOrFields === 'string'
? set(cloneDeep(defaults), fieldOrFields, maybeValue)
: Object.assign(cloneDeep(defaults), fieldOrFields)
})
}
},
Expand Down Expand Up @@ -223,12 +218,10 @@ export default function useForm<TForm extends FormDataType>(
const setError = useCallback(
(fieldOrFields: FormDataKeys<TForm> | Record<FormDataKeys<TForm>, string>, maybeValue?: string) => {
setErrors((errors) => {
const newErrors = cloneDeep(errors)
if (typeof fieldOrFields === 'string') {
set(newErrors, fieldOrFields, maybeValue)
} else {
Object.assign(newErrors, fieldOrFields)
}
const newErrors =
typeof fieldOrFields === 'string'
? set(cloneDeep(errors), fieldOrFields, maybeValue)
: Object.assign(cloneDeep(errors), fieldOrFields)
setHasErrors(Object.keys(newErrors).length > 0)
return newErrors
})
Expand Down

0 comments on commit c4ea69c

Please sign in to comment.