DatePicker 在 React 自定义 Hook 中不起作用
DatePicker doesn't work in a React custom Hook
我目前使用的 React DatePicker 有一个 onChange 属性 让你跟踪选定的日期
<DatePicker
selected={startDate}
startDate={startDate}
endDate={endDate}
onChange={e => setValue(e)}
/>
当我以直接的方式使用 useState() 挂钩时,它工作得非常好:
const [value, setValue] = useState()
但是,我需要在自定义的Hook中使用它来将各种变量放在一起。 onChange()
属性 无法在该设置中工作。没有错误,只是没有交互。
例如,我如下定义自定义 Hook 并像以前一样从 onChange()
属性 调用,没有任何反应:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, () => setValue()]
}
const [value, setValue] = useCustomHook()
这可能是因为 setter 没有收到任何参数,因此没有更新状态值。
尝试以这种方式返回钩子:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, (val) => setValue(val)]
}
或者直接传递setValue
:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, setValue]
}
我目前使用的 React DatePicker 有一个 onChange 属性 让你跟踪选定的日期
<DatePicker
selected={startDate}
startDate={startDate}
endDate={endDate}
onChange={e => setValue(e)}
/>
当我以直接的方式使用 useState() 挂钩时,它工作得非常好:
const [value, setValue] = useState()
但是,我需要在自定义的Hook中使用它来将各种变量放在一起。 onChange()
属性 无法在该设置中工作。没有错误,只是没有交互。
例如,我如下定义自定义 Hook 并像以前一样从 onChange()
属性 调用,没有任何反应:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, () => setValue()]
}
const [value, setValue] = useCustomHook()
这可能是因为 setter 没有收到任何参数,因此没有更新状态值。
尝试以这种方式返回钩子:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, (val) => setValue(val)]
}
或者直接传递setValue
:
const useCustomHook = () => {
const [value, setValue] = useState()
return [value, setValue]
}