我使用的corred datepicker有一个onChange属性,可以让您跟踪所选日期
<DatePicker
selected={startDate}
startDate={startDate}
endDate={endDate}
onChange={e => setValue(e)}
/>
当我以简单的方式使用usestate((挂钩时,它可以很好地工作:
const [value, setValue] = useState()
但是,我需要在自定义挂钩中使用它来整理各种变量。onChange()
属性在该设置中无法使用。没有错误,只是没有互动。
例如,我将自定义挂钩定义为以下,并像以前一样从onChange()
属性中调用,没有发生:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, () => setValue()]
}
const [value, setValue] = useCustomHook()
可能会发生的,因为设置者没有收到任何参数,因此不更新状态的价值。
尝试以这种方式返回钩子:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, (val) => setValue(val)]
}
或直接通过setValue
:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, setValue]
}