Javascript 如何在函数中转换类?

Javascript 如何在函数中转换类?,javascript,reactjs,Javascript,Reactjs,我有一个使用React.js的类,我正在尝试创建一个函数。这是我的班级: class Datepicker extends Component { state = { startDate: new Date() }; setStartDate = (startDate) => { this.setState({startDate}); this.props.handleDate(startDate); } render(){

我有一个使用React.js的类,我正在尝试创建一个函数。这是我的班级:

class Datepicker extends Component {
    state = { startDate: new Date() };

    setStartDate = (startDate) => {
      this.setState({startDate});
      this.props.handleDate(startDate);
    }

    render(){
        const {startDate} = this.state;

        return (
            <DatePicker
                className="custom-select"
                dateFormat="dd/MM/yyyy"
                selected={startDate}
                onChange={this.setStartDate}
            />
        )
    }
}
类日期选择器扩展组件{
state={startDate:new Date()};
设置开始日期=(开始日期)=>{
this.setState({startDate});
这个.props.handleDate(startDate);
}
render(){
const{startDate}=this.state;
返回(
)
}
}
以下是我尝试过的:

const Datepicker = (props) => {
    const [startDate, setStartDate] = useState(new Date());
    return (
        <DatePicker className="custom-select" dateFormat="dd/MM/yyyy" selected={startDate}
                    onChange=???/>
    );
};
const Datepicker=(道具)=>{
const[startDate,setStartDate]=useState(新日期());
返回(
);
};
我不知道如何继续这个功能。。。你能帮我吗


多谢各位

只需在功能组件中定义另一个功能:

const Datepicker = (props) => {
  const [startDate, setStartDate] = useState(new Date());

  const onChange = (startDate) => {
    setStartDate(startDate);
    props.handleDate(startDate);
  };

  return (
    <DatePicker
      className="custom-select"
      dateFormat="dd/MM/yyyy"
      selected={startDate}
      onChange={onChange}
    />
  );
};

const Datepicker=(道具)=>{
const[startDate,setStartDate]=useState(新日期());
const onChange=(开始日期)=>{
设置开始日期(开始日期);
道具。手持道具(起始日期);
};
返回(
);
};

它肯定与类版本中的方法没有什么不同吗?你想更新状态并调用道具。我试过了,但没有效果…所以显示,给出一个,但是
肯定不行。使用效果调用props不是更好吗?handleDate?props.handleDate是从父组件传递的回调函数,只有在日期发生变化时才会触发。@RinkeshGolwala为什么您认为这样更好?