3

我正在尝试在应用程序中一起使用react-dndreact-big-calendar支持拖放支持(也可以react-dnd在后台使用)。但是,如果我单独启动它们,我会收到一个错误:

Uncaught Error: Cannot have two HTML5 backends at the same time.

这是代码:

应用程序.js

import React from 'react'
import {DragDropContext} from 'react-dnd'
import HTML5Backend from 'react-dnd-html5-backend'
import Calendar from './Calendar'

class App extends React.Component {
  render() {
    return {
      <div>
        ...
        <Calendar />
      </div>
    }
  }
}

export default DragDropContext(HTML5Backend)(App)

日历.js

import React from 'react'
import BigCalendar from 'react-big-calendar'
import withDragAndDrop from 'react-big-calendar/lib/addons/dragAndDrop'

const Calendar = withDragAndDrop(BigCalendar)
...

react-big-calendar文档提到withDragAndDrop()函数可以接受后端作为第二个参数,这意味着理论上,我应该能够检索我已经设置的后端实例react-dnd并将其作为参数传递。但是,我不确定如何检索后端实例。

react-dnd 文档DragDropContext提到了一个实例方法getManager(),它应该可以帮助我检索后端(getManager().getBackend())。但是,这里的关键是实例方法。如何DragDropContext(HTML5Backend)(App)从我的Calendar.js文件中获取实例?

4

0 回答 0