/
githubmirror
/
react-hook-form
Обзор
Документация
Войти
/
githubmirror
/
react-hook-form
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/__tests__/nested-null.test.tsx
66 строк
2 KB
Yihao Gao
🐞 fix: handle null parent when unregistering nested field (#13396)
23 апр 2026, 00:49
Не верифицирован
23 апр 2026, 00:49
a08a8e8
Код
Авторство
О чём код?
import React from 'react'; import { fireEvent, render, screen, waitFor } from '@testing-library/react'; import { useForm } from '../useForm'; describe('nested null bug', () => { it('should not keep parent as null and allow nested value', async () => { function TestComponent() { const { register, handleSubmit } = useForm<{ example: { inner?: string } | null; }>({ defaultValues: { example: null, }, }); return ( <form onSubmit={handleSubmit(onSubmit)}> <input {...register('example.inner')} /> <button type="submit">Submit</button> </form> ); } const onSubmit = jest.fn(); render(<TestComponent />); fireEvent.click(screen.getByText('Submit')); await waitFor(() => { expect(onSubmit).toHaveBeenCalledWith( { example: { inner: '' } }, expect.anything(), ); }); }); it('should not throw when unregistering nested field with null parent', () => { function TestComponent() { const { register, unregister } = useForm<{ example: { nested?: { deep?: string } } | null; }>({ defaultValues: { example: null, }, shouldUnregister: false, }); return ( <form> <input {...register('example.nested.deep')} /> <button type="button" onClick={() => unregister('example.nested.deep')} > Unregister </button> </form> ); } render(<TestComponent />); expect(() => { fireEvent.click(screen.getByText('Unregister')); }).not.toThrow(); }); });