【发布时间】:2019-08-08 07:37:11
【问题描述】:
我正在尝试使用material-ui-pickers's date picker,其中示例演示是使用State Hooks 编写的。我想将日期值作为对父组件的回调。 这是子组件:
import React, { Component } from 'react';
import { Fragment, useState } from "react";
import { DatePicker, InlineDatePicker } from "material-ui-pickers";
function YearMonthPicker(props) {
const [selectedDate, handleDateChange] = useState("2013-01-01");
return (
<div className="picker">
<DatePicker
openTo="year"
views={["year", "month"]}
label="Year and Month"
helperText="With min and max"
minDate={new Date("2011-01-01")}
maxDate={new Date("2018-12-01")}
value={selectedDate}
onChange={handleDateChange}
/>
</div>
);
}
export default YearMonthPicker;
在“onChange”上,该函数修改其“selectedDate”状态。
在我的父组件中,我定义了函数:
handleChangeTo = e => {
this.setState({ dateTo: e.target.value });
};
而且,在渲染方法中,我试图这样称呼它:
<YearMonthPicker handleChangeTo={this.handleChangeTo} />
据我了解,如果我将“onChange”的功能更改为props.handleChangeTo,那么子组件的状态将不会在更改时更新。将日期传递给父组件的正确方法是什么?
【问题讨论】:
标签: reactjs material-ui react-hooks