reactjs - 在 React 中更改日期
问题描述
我正在学习 React,目前正在处理 Material-UI Date Picker,但我无法更改日历中的日期。
我正在使用的当前状态
const [state, setState] = React.useState({ ...newTripStateData })
我在该对象(newTripStateData)中有所有状态数据,但是当我尝试使用以下函数访问和更改等于(新日期)的离开日期时;它没有改变。我究竟做错了什么?
const handleDateChange = (date) => {
state.departureDate = date;
setState(state.departureDate)
}
日期选择器
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<KeyboardDatePicker
className={styles.inputs}
disableToolbar
inputVariant="outlined"
format="MM-dd-yyyy"
error={state.departureDateErrorStatus}
margin="normal"
id="date-picker-inline-1"
label="Departure Date"
selected={state.departureDate}
onChange={handleDateChange}
KeyboardButtonProps={{
'aria-label': 'change date'
}}
/>
<FormHelperText
error={state.departureDateErrorStatus}
className={styles.helper_text_error}
>
{state.departureDateError}
</FormHelperText>
</MuiPickersUtilsProvider>
Chrome 开发工具中的 Material UI 错误
Material-UI: a component is changing the controlled value state of SelectInput to be uncontrolled.
提前致谢。
解决方案
你不能改变state
喜欢state.departureDate = date
。你必须用setState
它来改变它。
你可以直接这样做:
const handleDateChange = (date) => {
setState({
...state,
departureDate: date
})
}
推荐阅读
- r - 如何在 R 中计算每天的最大值
- telegram - 在 Telegram Bot API 中将文件附加到长文本
- python - 使用 numpy 创建和初始化网格(矩阵)100x100
- linux - 由于总线错误,无法使用 Anaconda 运行 tensorflow GPU
- c++ - 使用指针c ++交换结构数组中的元素
- asp.net-web-api - Microsoft.AspNet.OData [EnableQueryAttribute] 与 [Route] 属性结合时失败
- linux - 在 Windows 和 linux 上与网络设备通话
- cron - 如何在晚上 11 点到凌晨 3 点之间每分钟运行一次 Cron Job 命令?
- javascript - Heroku 上的 Angular 应用程序部署问题
- swift - 从 CocoaPod 加载 pdf