事象
私は、Reactを使ってフォームを作成していました。
stateでデータを保持していたのですが、登録ボタンを押下すると、DatePikerで選択したはずの値で更新されておらず、1つ前のデータを保持した状態でDBに保存されるという、いやな事が起きてしまいました。
上記現象が起きたコンポーネントの構造は、
ページコンポーネント(親)から、自作のDatePicker(inputbox付き)を呼んでいて自作のDatePicker(子)から、MUIのDateCalendarを呼んでいるという風になっております。
改善
// stateの宣言
const [value, setValue] = useState<string>('');
// 更新時
- setValue('更新したで。');
+ setValue((value) => {return '更新したで。'});
参考
参考にさせていただきました、ありがとうございました