Почему этот компонент не отображается вообще? Реагировать на DatePicker

Вот этот компонент:

import React, { Component } from 'react';
import DatePicker from 'react-datepicker';

class DatePickerCreater extends Component {
    constructor(props){
        super(props);
    }

    render() {
        return (
            <DatePicker
                disabled={this.props.answer.isDisabled}
                dateFormat="YYYY/MM/DD"
                selected={Date(this.props.answer.value)}
                onChange={(e) => this.props.blurHandler(e.target.value,this.props.answer)} 
            />
        );
    }
}

export default DatePickerCreater

когда я пытаюсь сделать это, он ничего не показывает...

Очень благодарен за каждый ответ!

2 ответа

Решение

selected собственность занимает moment.js дата, а не простая дата JavaScript. Вы должны получить сообщение об ошибке "date.clone не является функцией". Вы можете исправить это, используя точную дату:

import moment from 'moment';

class DatePickerCreater extends Component {
    render() {
        return (
            <DatePicker
                disabled={this.props.answer.isDisabled}
                dateFormat="YYYY/MM/DD"
                selected={moment(this.props.answer.value)}
                onChange={(e) => this.props.blurHandler(e.target.value, this.props.answer)}
            />
        )
    }
}

Также вы можете забыть импортировать react-datepicker CSS-файл Без этого всплывающее окно не будет отображаться правильно:

import 'react-datepicker/dist/react-datepicker.css';

Код не достаточно, что я могу сказать, что super() нужно вызывать с помощью props:

constructor(props){
   super(props);
   // ... code
}

Другие вопросы по тегам