You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Hook Form Controller中使用React DatePicker出现闪烁/意外重渲染问题求助

React Hook Form Controller中使用React DatePicker出现闪烁/意外重渲染问题求助

各位好,我最近在项目里用React Hook Form的Controller组件包裹react-datepicker时遇到了个头疼的问题:每次和日期选择器交互(比如选择日期),组件都会意外闪烁或者触发不必要的重渲染。

先给大家看一下我简化后的代码:

<Controller
  name="startDate"
  control={control}
  render={({ field }) => (
    <DatePicker
      {...field}
      onChange={(value: Date) => {
        field.onChange(value);
        onDateChange?.(value); // 自定义的处理函数
      }}
    />
  )}
/>

我一开始猜测是render prop里的onChange回调每次渲染都被重新创建导致的,特意用useCallback把这个回调包裹了起来,但就算做了这个优化,日期选择器还是会闪烁,甚至给我一种像是被重新挂载了的感觉。

我当前使用的依赖版本如下:

  • react-datepicker: ^7.6.0
  • react: 18.3.1
  • react-hook-form: 7.57.0

想请教下有没有同学遇到过这个问题?react-datepicker和react-hook-form的render props用法之间,是不是存在已知的bug或者兼容性问题呀?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 14:04:51