React DatePicker - 如何在日期 select 调用自定义函数?
React DatePicker - How to call custom function on date select?
在 React 中,我尝试添加一个基于日期选择的搜索功能。我已经提到并使用 https://github.com/wojtekmaj/react-date-picker.
function Result(props) {
const [value, onChange] = useState(new Date());
return(
<div>
<DatePicker onChange={onChange} value={value} />
</div>
);
}
我的另一个 class 组件,
handleOnClick = (e) => {
console.log(e);
}
<Result handleOnclick={this.handleOnclick} />
现在我想在通过传递值(日期)选择日期后立即调用我自己的函数 handleOnclick
。
在我的自定义函数中,我应该能够获取选定的日期。
依赖关系是,
"react": "^17.0.1",
"react-date-picker": "^8.0.3",
"react-dom": "^17.0.1",
"react-scripts": "4.0.0",
"web-vitals": "^0.2.4"
我怎样才能实现这个改变?请帮助我。
您可以将自定义函数传递给 onChange 道具并从那里更新状态。并在那里执行您的自定义逻辑。
import React, { useState } from 'react';
import DatePicker from 'react-date-picker';
function Result(props) {
const [value, onChange] = useState(new Date());
const onDateChange=(newDate)=>{
//Your custom code here
props.handleOnclick(newDate);
onChange(newDate);
};
return (
<div>
<DatePicker
onChange={onDateChange}
value={value}
/>
</div>
);
}
另一种选择是使用 useEffect 并将值添加为依赖项,当值更改时 运行。
useEffect(()=>{
//your custom code here
},[value]);
在 React 中,我尝试添加一个基于日期选择的搜索功能。我已经提到并使用 https://github.com/wojtekmaj/react-date-picker.
function Result(props) {
const [value, onChange] = useState(new Date());
return(
<div>
<DatePicker onChange={onChange} value={value} />
</div>
);
}
我的另一个 class 组件,
handleOnClick = (e) => {
console.log(e);
}
<Result handleOnclick={this.handleOnclick} />
现在我想在通过传递值(日期)选择日期后立即调用我自己的函数 handleOnclick
。
在我的自定义函数中,我应该能够获取选定的日期。
依赖关系是,
"react": "^17.0.1",
"react-date-picker": "^8.0.3",
"react-dom": "^17.0.1",
"react-scripts": "4.0.0",
"web-vitals": "^0.2.4"
我怎样才能实现这个改变?请帮助我。
您可以将自定义函数传递给 onChange 道具并从那里更新状态。并在那里执行您的自定义逻辑。
import React, { useState } from 'react';
import DatePicker from 'react-date-picker';
function Result(props) {
const [value, onChange] = useState(new Date());
const onDateChange=(newDate)=>{
//Your custom code here
props.handleOnclick(newDate);
onChange(newDate);
};
return (
<div>
<DatePicker
onChange={onDateChange}
value={value}
/>
</div>
);
}
另一种选择是使用 useEffect 并将值添加为依赖项,当值更改时 运行。
useEffect(()=>{
//your custom code here
},[value]);