更新反应日期的状态
updating the state for react-dates
我正在尝试使用 airbnb react-dates 如下:
function NewEntryModal(props) {
return <Formik
initialValues={{}}
onSubmit={(values, actions) => {
}}
render={props => (
<form onSubmit={props.handleSubmit}>
<SingleDatePicker
date={props.date} // momentPropTypes.momentObj or null
onDateChange={date => props.setDate({ date })} // PropTypes.func.isRequired
focused={props.focused}
onFocusChange={(focused) => props.setIsFocused(focused)}
id="string" // PropTypes.string.isRequired,
/>
<button type="submit">Submit</button>
</form>
)}
/>
}
export default compose(
withState('isFocused', 'setIsFocused', false),
withState('date', 'setDate', moment()),
)(NewEntryModal);
我正在使用 recompose withState
来更新日期和焦点状态。但是,我收到一条错误消息,指出 setIsFocused
不是函数。
任何反馈将不胜感激。
实际上你有两个同名的变量props
我认为这可以解决您的问题,我为 render
函数使用了解构参数
function NewEntryModal(props) {
return <Formik
initialValues={{}}
onSubmit={(values, actions) => {}}
render={({handleSubmit}) => (
<form onSubmit={handleSubmit}>
<SingleDatePicker
date={props.date}
onDateChange={props.setDate}
focused={props.focused}
onFocusChange={props.setIsFocused}
id="string",
/>
<button type="submit">Submit</button>
</form>
)}
/>
}
对了,我也把onDateChange
和onFocusChange
改成了
onDateChange={props.setDate}
onFocusChange={props.setIsFocused}
因为创建额外的箭头函数在这里没有用
我正在尝试使用 airbnb react-dates 如下:
function NewEntryModal(props) {
return <Formik
initialValues={{}}
onSubmit={(values, actions) => {
}}
render={props => (
<form onSubmit={props.handleSubmit}>
<SingleDatePicker
date={props.date} // momentPropTypes.momentObj or null
onDateChange={date => props.setDate({ date })} // PropTypes.func.isRequired
focused={props.focused}
onFocusChange={(focused) => props.setIsFocused(focused)}
id="string" // PropTypes.string.isRequired,
/>
<button type="submit">Submit</button>
</form>
)}
/>
}
export default compose(
withState('isFocused', 'setIsFocused', false),
withState('date', 'setDate', moment()),
)(NewEntryModal);
我正在使用 recompose withState
来更新日期和焦点状态。但是,我收到一条错误消息,指出 setIsFocused
不是函数。
任何反馈将不胜感激。
实际上你有两个同名的变量props
我认为这可以解决您的问题,我为 render
函数使用了解构参数
function NewEntryModal(props) {
return <Formik
initialValues={{}}
onSubmit={(values, actions) => {}}
render={({handleSubmit}) => (
<form onSubmit={handleSubmit}>
<SingleDatePicker
date={props.date}
onDateChange={props.setDate}
focused={props.focused}
onFocusChange={props.setIsFocused}
id="string",
/>
<button type="submit">Submit</button>
</form>
)}
/>
}
对了,我也把onDateChange
和onFocusChange
改成了
onDateChange={props.setDate}
onFocusChange={props.setIsFocused}
因为创建额外的箭头函数在这里没有用