Roh*_*hit 5 javascript jsx reactjs react-dates
从'react-dates'库中添加SingleDatePicker时,我收到了此错误.尝试了一切,但找不到错误.代码只是显示日历并显示用户选择的日期.请帮忙!这是代码:
import React from 'react';
import moment from 'moment';
import { SingleDatePicker } from 'react-dates';
import 'react-dates/lib/css/_datepicker.css';
export default class ExpenseForm extends React.Component {
state = {
createdAt: moment(),
calenderFocused: false
};
onDateChange = (createdAt) => {
this.setState(() => ({ createdAt }));
};
onFocusChange = ({ focused }) => {
this.setState(() => ({ calenderFocused: focused }));
};
render() {
return (
<div>
<form>
<SingleDatePicker
date={this.state.createdAt}
onDateChange={this.onDateChange}
focused={this.state.calendcalenderFocused}
onFocusChange={this.onFocusChange}
/>
</form>
</div>
);
}
};
Run Code Online (Sandbox Code Playgroud)
我在chrome-dev-tool中遇到的错误:
Uncaught TypeError: Cannot read property 'create' of undefined
at Object.createLTR [as create] (ThemedStyleSheet.js?17e6:46)
at WithStyles.maybeCreateStyles (withStyles.js?55c9:121)
at WithStyles.componentWillMount (withStyles.js?55c9:107)
at callComponentWillMount (react-dom.development.js?cada:6337)
at mountClassInstance (react-dom.development.js?cada:6393)
at updateClassComponent (react-dom.development.js?cada:7849)
at beginWork (react-dom.development.js?cada:8233)
at performUnitOfWork (react-dom.development.js?cada:10215)
at workLoop (react-dom.development.js?cada:10279)
at HTMLUnknownElement.callCallback (react-dom.development.js?cada:540)
The above error occurred in the <withStyles(SingleDatePicker)> component:
in withStyles(SingleDatePicker) (created by ExpenseForm)
in form (created by ExpenseForm)
in div (created by ExpenseForm)
in ExpenseForm (created by AddExpensePage)
in div (created by AddExpensePage)
in AddExpensePage (created by Route)
in Route (created by AppRouter)
in Switch (created by AppRouter)
in div (created by AppRouter)
in Router (created by BrowserRouter)
in BrowserRouter (created by AppRouter)
in AppRouter
in Provider
Run Code Online (Sandbox Code Playgroud)
我在测试中得到了同样的错误并添加了import 'react-dates/initialize';修复它.
请参阅https://github.com/airbnb/react-dates#initialize
小智 -3
您没有正确初始化状态。您应该使用构造函数,如下所示:
import React from 'react';
import moment from 'moment';
import { SingleDatePicker } from 'react-dates';
import 'react-dates/lib/css/_datepicker.css';
export default class ExpenseForm extends React.Component {
constructor(props){
super(props);
this.state = {
createdAt: moment(),
calenderFocused: false
}
}
onDateChange = (createdAt) => {
this.setState(() => ({ createdAt }));
};
onFocusChange = ({ focused }) => {
this.setState(() => ({ calenderFocused: focused }));
};
render() {
return (
<div>
<form>
<SingleDatePicker
date={this.state.createdAt}
onDateChange={this.onDateChange}
focused={this.state.calendcalenderFocused}
onFocusChange={this.onFocusChange}
/>
</form>
</div>
);
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3843 次 |
| 最近记录: |