Javascript 如何在函数中转换类?
我有一个使用React.js的类,我正在尝试创建一个函数。这是我的班级: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(){
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为什么您认为这样更好?