reactjs - 获取 Object(...) 不是我的拖放上下文中的函数。我正在使用反应
问题描述
为我的应用程序使用 react-big-scheduler,它需要拖放上下文。因此,当我导入并设置它时,我得到 Object(...) is not a function
我也尝试在渲染中使用作为反应组件,并且元素类型无效。
withDnDContext.js
import { DragDropContext } from 'react-dnd';
import HTML5Backend from 'react-dnd-html5-backend';
export default DragDropContext(HTML5Backend);
propertyCalander.jsx(这是我使用调度程序的地方)
import React, { Component } from 'react';
import Scheduler, {
SchedulerData,
ViewTypes,
DemoData
} from 'react-big-scheduler';
// import { DragDropContextProvider } from 'react-dnd';
// import HTML5Backend from 'react-dnd-html5-backend';
import withDragDropContext from './withDnDContext';
import 'react-big-scheduler/lib/css/style.css';
class PropertyCalnder extends Component { // eslint-disable-line
constructor(props) {
super(props);
const schedulerData = new SchedulerData('2017-12-18', ViewTypes.Week);
schedulerData.localeMoment.locale('en');
schedulerData.setResources(DemoData.resources);
schedulerData.setEvents(DemoData.events);
this.state = {
viewModel: schedulerData
};
}
prevClick = e => {
console.log(e);
};
nextClick = e => {
console.log(e);
};
onSelectDate = e => {
console.log(e);
};
onViewChange = e => {
console.log(e);
};
eventClicked = e => {
console.log(e);
};
render() {
const { viewModel } = this.state;
return (
<div>
{/* <DragDropContextProvider backend={HTML5Backend}> */}
<Scheduler
schedulerData={viewModel}
prevClick={this.prevClick}
nextClick={this.nextClick}
onSelectDate={this.onSelectDate}
onViewChange={this.onViewChange}
eventItemClick={this.eventClicked}
/>
{/* </DragDropContextProvider> */}
</div>
);
}
}
export default withDragDropContext(PropertyCalnder);
包.json
...
"react-dnd": "^7.5.0",
"react": "^16.8.6",
"react-dnd-html5-backend": "^7.5.0",
"react-big-scheduler": "^0.2.5",
It should just show the demo page as linked here https://stephenchou1017.github.io/scheduler/#/
but instead getting Object(...) is not a function
解决方案
我遇到了同样的问题,但是使用以下软件包可以正常工作。当您将 react-big-scheduler 更新为“0.2.7”时会出现此问题
"react-dnd": "5.0.0",
"react-dnd-html5-backend": "5.0.1",
"react-big-scheduler": "0.2.6",
你可以运行这个命令
"npm i react-big-scheduler@0.2.6"
推荐阅读
- cmake - cmake 和 llvm-config 配置
- python - 如何在正确的用户名旁边打印我的高分(来自文本文件)?
- ios - Dynamo DB 无法保存数据
- php - 将 Nodejs 或 Websocket 与 PHP 一起使用?
- cassandra - Cassandra:降级一致性重试策略
- python - 如何使用熊猫?
- javascript - 将带有键的对象转换为javascript中的对象数组
- c++ - 使用 std::wcout 会降低奇怪的性能
- python - 使用另一个 DataFrame 对 pandas DataFrame 进行分类
- python - 用列平均值替换 Pandas 数据框中的 NaN