3 回答

TA貢獻1784條經驗 獲得超7個贊
State 是類組件中的實例變量,并且您的 setter 需要是一個方法。
class Datepicker extends Component {
constructor(props){
super(props);
this.state = {startDate: new Date()};
}
setStartDate = (startDate) => {
this.setState({startDate});
}
render(){
const {startDate} = this.state;
return (
<DatePicker
className="custom-select"
dateFormat="dd/MM/yyyy"
selected={startDate}
onChange={this.setStartDate}
/>
)
}
}
export default Datepicker;

TA貢獻1865條經驗 獲得超7個贊
您需要在類組件中使用狀態變量。
class Datepicker extends Component {
? ? state = { startDate: new Date() };
? ?
? ? setStartDate = (startDate) => {
? ? ? this.setState({ startDate });
? ? }
? ? render(){
? ? ? ? const { startDate } = this.state;
? ? ? ??
? ? ? ? return (
? ? ? ? ? ? <DatePicker className="custom-select" dateFormat="dd/MM/yyyy" selected={startDate}
? ? ? ? ? ? ? ? onChange={this.setStartDate}/>
? ? ? ? )
? ? }
}
export default Datepicker;

TA貢獻1982條經驗 獲得超2個贊
不可能在類組件中使用“useState”、“useEffect”等 React 鉤子。盡管您可以使用this.setState類組件來實現類似的東西
class Datepicker extends Component {
constructor(props) {
this.state = {
startDate: new Date(),
}
}
render() {
const { startDate } = this.state
return (
<DatePicker className="custom-select" dateFormat="dd/MM/yyyy" selected={startDate}
onChange={date => this.setState({ startDate: date })} />
)
}
}
export default Datepicker;
為什么你想使用類組件呢?有具體案例嗎?
添加回答
舉報