Реагирует на js blueprintjs

Мне нужно создать DateRangePicker на BlueprintJS( документация) и RangePicker в моем компоненте, как на этом скриншоте.

Я устанавливаю все пакеты npm и делаю все по инструкции:

import { DateRangePicker } from "@blueprintjs/datetime";

<DateRangePicker
    value={[this.state.startDate, this.state.endDate]}
    onChange={this.handleDateChange}
/>

но в любом случае есть ошибка:

Cannot read property 'startDate' of null
TypeError: Cannot read property 'startDate' of null

пожалуйста, помогите, что мне нужно для работы DateRangePicker

1 ответ

Решение

Вы должны определить state как поле вашего компонента. По умолчанию, если state не установлено, равно null

import React from 'react'
import { DateRangePicker } from "@blueprintjs/datetime";

class MyAwesomeComponent extends React.Component {
    constructor(props) {
        super(props)
        this.state = {
            startDate: new Date("2018-05-01T12:13:30.643Z"),
            endDate: new Date("2018-05-03T12:13:30.643Z")
        }
    }

    render() {
        return (
            <div className="my-component">
                <DateRangePicker
                    value={[this.state.startDate, this.state.endDate]}
                    onChange={this.handleDateChange}
                />
            </div>
        )
    }
}
Другие вопросы по тегам