reactjs - 警告:道具类型失败:提供给“withStyles(SingleDatePicker)”的“object”类型的无效道具“focused”,应为“boolean”
问题描述
我正在尝试实现 SingleDatePicker,但我不断收到上述错误。我做错了什么,因为我清楚地将初始值设置为布尔值。
这是我的实现:
const [calendarFocused, setCalendarFocus] = useState(false); --this a boolean not an object?
const [createdAt, setCreatedAt] = useState(moment());
const onChange = (event) =>
setTimesheet({
...timesheet,
[event.target.name]: event.target.value,
});
const onDateChange = (createdAt) => setCreatedAt(createdAt);
const onCalendarFocusChange = (focused) => setCalendarFocus(focused); return (
<form>
<h5 className='text-primary'>Add time</h5>
<input
type='text'
placeholder='Enter title'
title='title'
value={title}
onChange={onChange}
/>
<select name='project'>
<option value='project' disabled defaultValue>
Choose your project
</option>
<option value='1'>Project 1</option>
<option value='2'>Project 2</option>
<option value='3'>Project 3</option>
</select>
<SingleDatePicker
date={createdAt} // momentPropTypes.momentObj or null
onDateChange={onDateChange} // PropTypes.func.isRequired
focused={calendarFocused} // PropTypes.bool
onFocusChange={onCalendarFocusChange} // PropTypes.func.isRequired
id='#123' // PropTypes.string.isRequired,
/>
<div>
<input
type='submit'
value='Add new time'
className='waves-effect waves-light btn-large'
/>
</div>
</form>
解决方案
我正在处理同样的问题。如果你使用 console.log(calendarFocused),它会在控制台打印一个对象 [focused : false]。由于 SingleDatePicker 需要一个布尔值,这将引发错误。
要解决此问题,请将 SingleDatePicker 中的“focused”编辑为以下内容:
<SingleDatePicker
date={createdAt} // momentPropTypes.momentObj or null
onDateChange={onDateChange} // PropTypes.func.isRequired
focused={calendarFocused.focused} // PropTypes.bool
onFocusChange={onCalendarFocusChange} // PropTypes.func.isRequired
id='#123' // PropTypes.string.isRequired
/>
推荐阅读
- django - 尝试使用 venv 中的 django-environ 从 .env.local 文件中创建 django 加载环境变量
- azure - Azure 表单识别器应用无效的资源名称
- java - 无法在 java 中导入以 org 开头的包(我猜是由于依赖关系)
- database-design - 在数据库中存储选举投票的最佳实践
- c# - apliction.run 在 Visual Studio C# 中是什么意思
- bash - 这种 if 条件有什么问题?
- c# - 不同类型的 Getter 和 Setter 方法
- ios - 更新数组的成员
- kubernetes - 在 Kubernetes 中更新 configmap 时刷新 daemonset pod
- linear-algebra - 机器学习的线性代数