reactjs - 拖放在 React App 上不起作用。如何在我的代码中实现 DndContext
问题描述
应用程序.js
import React, { Component } from "react";
import { Calendar, momentLocalizer } from "react-big-calendar";
import moment from "moment";
import withDragAndDrop from "react-big-calendar/lib/addons/dragAndDrop";
import "./App.css";
import "react-big-calendar/lib/addons/dragAndDrop/styles.css";
import "react-big-calendar/lib/css/react-big-calendar.css";
const localizer = momentLocalizer(moment);
const DnDCalendar = withDragAndDrop(Calendar);
class App extends Component {
state = {
events: [
{
start: moment().toDate(),
end: moment().add(1, "days").toDate(),
title: "Some title",
},
],
};
onEventResize = (data) => {
const { start, end } = data;
this.setState((state) => {
state.events[0].start = start;
state.events[0].end = end;
return { events: [...state.events] };
});
};
onEventDrop = (data) => {
console.log(data);
};
render() {
return (
<div className="App">
<DnDCalendar
defaultDate={moment().toDate()}
defaultView="month"
events={this.state.events}
localizer={localizer}
onEventDrop={this.onEventDrop}
onEventResize={this.onEventResize}
resizable
style={{ height: "100vh" }}
/>
</div>
);
}
}
export default App;
当我尝试运行 React 应用程序时,它会发布,但我无法移动事件。我不知道我错过了什么。我目前正在关注关于在 React 上制作大日历的教程,但这就是教程离开我的地方。我猜想这与 DndContext 有关,因为我正在查看他们使用 DndContext 和 HTML5Backend 的旧教程,但我不知道如何将其与更新的代码对应。任何帮助将不胜感激。如果有任何其他信息我应该分享,请告诉我。
解决方案
推荐阅读
- javascript - d3 v5 在地图上定位图钉图像
- node.js - node-fetch:为什么推荐使用“signal”而不是“timeout”?
- java - 改进列表列表?
- x86 - PREFETCHT2 读取到什么级别的缓存?
- sml - 如何将一个列表插入另一个列表而不连接它们
- matlab - 如何设置 csvread 的结束限制?
- javascript - 谷歌图表 vAxis 值在第一次点击时不可见
- react-native - 尝试使用 react-native 应用程序在 firebase db 上推送数据,但它没有做任何事情
- ruby-on-rails - 个人资料视图不显示用户名/详细信息
- html - 什么是 c-wiz 标签?