question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

DatePicker breaks with "date.clone is not a function" when "selected" date is passed down as a prop

See original GitHub issue

If I initialize a DatePicker by directly providing the selected prop as a moment object, everything works fine:

const WrapperComponent = ({ startDate, onDateChange }) => (
    <div>
        <DatePicker
                selected={moment()}
                onChange={onDateChange}
            />
    </div>
)

However if i try to initialize the component by passing the “selected” prop externally as a startDate prop from WrapperComponent like this:

const WrapperComponent = ({ startDate, onDateChange }) => (
    <div>
        <DatePicker
                selected={startDate}
                onChange={onDateChange}
            />
    </div>
)

…the DatePicker breaks by moment js, even if the startDate provided by a predefined value of the same moment() object:

date_utils.js:167 Uncaught TypeError: date.clone is not a function
    at safeDateFormat (date_utils.js:167)
    at DatePicker._this.renderDateInput (datepicker.js:388)
    at DatePicker.render (datepicker.js:474)
    at ReactCompositeComponent.js:795
    at measureLifeCyclePerf (ReactCompositeComponent.js:75)
    at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (ReactCompositeComponent.js:794)
    at ReactCompositeComponentWrapper._renderValidatedComponent (ReactCompositeComponent.js:821)
    at ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:361)
    at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:257)
    at Object.mountComponent (ReactReconciler.js:45)

What am I doing wrong? Can’t I use a DatePicker in a stateless component, passing down it’s props?

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:24
  • Comments:12

github_iconTop GitHub Comments

64reactions
jamessralcommented, Jan 23, 2018

I just ran into the same thing, but if you use moment to parse your date back into a moment object, it works.

Example:

<DatePicker
  className={styles.datePicker}
  selected={moment(this.props.endDate)}
  onChange={this.handleChangeEnd}
/>
2reactions
Ic3ksycommented, Oct 22, 2018

Just found the solution for my project. Share it here if it can help :

<DatePicker selected={(this.props.myDate !== ")?moment(this.props.myDate, 'YOURFORMAT'):moment()} value={(this.props.myDate !== ")?moment(this.props.myDate, 'YOURFORMAT'):""} dateFormat="YOURFORMAT" onChange={onDateChange} />

Weird but works…

Read more comments on GitHub >

github_iconTop Results From Across the Web

Antd datepicker (date.clone is not a function) - reactjs
This worked for me. The critical part is that the error is thrown for DatePickers inside of a <Form.Item>. Thanks for the answer!...
Read more >
DatePicker breaks with "date.clone is not a function" when ...
DatePicker breaks with "date.clone is not a function" when "selected" date is passed down as a prop.
Read more >
[Solved]-Antd datepicker (date.clone is not a function)
I have realized that when using the inside <Form.Item > <Form.Item /> it will drop 'date.clone is not a function' error. So you...
Read more >
ng2-date-picker.umd.js.map
The CDN for ng2-date-picker. ... hasOwnProperty(prop)) {\n obj[prop] = this. ... secondsInterval;\n break;\n }\n return time.clone().subtract(amount, ...
Read more >
KendoReact Changelog
add title prop to dropdownbutton and splitbutton ... element rendered by the DateTimePicker component; do not apply k-focus className on ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found