Javascript React/Redux:是否有方法在React date picker';s与redux表格合并?

Javascript React/Redux:是否有方法在React date picker';s与redux表格合并?,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,本质上,我有一个react date选择器作为redux表单字段合并到我的表单中。我允许用户使用redux form reset prop清除整个表单。这很奇怪,因为datepicker在我的表单数据中被识别,但当我试图清除整个页面时,它是唯一一个不清除的字段 这个。道具。重置 这是改变 我的约会选择者: const CustomInput = React.forwardRef((props, refs) => { const inputProps = props.inputPr

本质上,我有一个react date选择器作为redux表单字段合并到我的表单中。我允许用户使用redux form reset prop清除整个表单。这很奇怪,因为datepicker在我的表单数据中被识别,但当我试图清除整个页面时,它是唯一一个不清除的字段

这个。道具。重置 这是改变

我的约会选择者:


const CustomInput = React.forwardRef((props, refs) => {
    const inputProps = props.inputProps;
    inputProps.input.onChange(props.value);
    return (
        <div className="input-button">
            <FormattedTextInput
                {...inputProps}
                ref={refs}
                onFocus={props.onFocus}
                onChange={props.onChange}
                helpText={<span aria-hidden="true">YYYY-MM-DD | HH:MM</span>}
            />
        </div>
    );
});

CustomInput.propTypes = {
    value: PropTypes.string,
    onFocus: PropTypes.func,
    onChange: PropTypes.func,
    inputProps: PropTypes.object
};

const DateTimePicker = props => {
    const [startDate, setStartDate] = useState(null);
    const ref = React.createRef();

    return (
        <DatePicker
            selected={startDate}
            onChange={date => setStartDate(date)}
            minDate={moment()}
            customInput={<CustomInput inputProps={props} ref={ref} />}
            showTimeSelect
            disabledKeyboardNavigation
            timeFormat="HH:mm"
            timeIntervals={15}
            timeCaption="time"
            isClearable
            dateFormat="YYYY-MM-DD HH:mm"
        />
    );
};

export default DateTimePicker;

const CustomInput=React.forwardRef((道具,参考)=>{
常量inputProps=props.inputProps;
inputProps.input.onChange(props.value);
返回(
);
});
CustomInput.propTypes={
值:PropTypes.string,
onFocus:PropTypes.func,
onChange:PropTypes.func,
inputProps:PropTypes.object
};
const DateTimePicker=props=>{
常量[startDate,setStartDate]=useState(null);
const ref=React.createRef();
返回(
设置开始日期(日期)}
minDate={moment()}
customInput={}
showTimeSelect
禁用键盘导航
timeFormat=“HH:mm”
时间间隔={15}
timeCaption=“时间”
易懂
dateFormat=“YYYY-MM-DD HH:MM”
/>
);
};
导出默认日期时间选择器;
我的领域:

<Field
                                className="usaa-input"
                                component={DateTimePicker}
                                label="Future Date"
                                name="futureDate"
                                validate={[required, validDateTimeFormat]}
                                formatting="9999-99-99 99:99"
                            />

它从startDate useState获取它的值。 UseEffect类似于类的componentWillUnmount

当不再安装此函数时,应使用useEffect重置startDate值

  useEffect(() => {
    return () => {
      setStartDate(null);
    }
  }, []);

那没用。我注意到父级的状态被清除,因为字段验证被重置,但是您仍然可以看到日期,因为内部状态没有被重置。