marmelab/react-admin

UseWatch with an input field that has a default value returns undefined when the input field is not changed

Open

#9,419 opened on Nov 3, 2023

View on GitHub
 (5 comments) (0 reactions) (0 assignees)TypeScript (5,138 forks)batch import
help wanted

Repository metrics

Stars
 (23,863 stars)
PR merge metrics
 (Avg merge 1d 13h) (18 merged PRs in 30d)

Description

What you were expecting: I would expect that useWatch returns the default value of the field.

What happened instead: useWatch returns undefined, untill I change the watched field.

Steps to reproduce:

create a form with an input that has a default value, then have another component use useWatch on that input field, the resulting value is undefined untill you change the input.

Related code: I created a WatchBug component in the PostCreate file. It watches the Published at input. you see that initally the value returned is undefined. https://stackblitz.com/edit/github-mjvobu?file=src%2Fposts%2FPostCreate.tsx

Environment

  • React-admin version: 4.15.2
  • Last version that did not exhibit the issue (if applicable): 4.8.4 does not show the bug, I did not try other versions inbetween.

Working version on 4.8.4 https://stackblitz.com/edit/github-ladv9x?file=src%2Fposts%2FPostCreate.tsx

Contributor guide