运行测试脚本时发生错误
不变违规:在“连接(DragD
ropContext(App))“。要么将根组件包装在一个,
或将自定义React上下文提供程序传递给和
连接选项中的相应React上下文使用者连接(DragDropContext(App))。
尽管一切都在一个未组装的项目中进行。据我了解,由于根组件被包裹在两个区域中,因此存在一些问题-一个是氧化还原,另一个是dnd。
ReactDOM.render(<DragDropContextProvider backend={HTML5Backend}>
<Provider store={store}>
<App />
</Provider>
</DragDropContextProvider>, document.getElementById('root'));
我尝试先在dnd中包装,然后在redaks中包装-这样做没有帮助,一切都一样。
最佳答案
看来您将旧版装饰器API与顶级API混合使用了
旧版装饰器API
使用旧版装饰器,您可以包装如下:
import HTML5Backend from 'react-dnd-html5-backend'
import { DragDropContext } from 'react-dnd'
class YourApp {
/* ... */
}
export default DragDropContext(HTML5Backend)(App)
查看有关Legacy Decorator API here...的文档
顶级API
对于顶级API,请使用:
import { DndProvider } from 'react-dnd'
import HTML5Backend from 'react-dnd-html5-backend'
....
...
<div className="App">
<DndProvider backend={HTML5Backend}>
<App />
</DndProvider>
</div>
查看有关顶级API here...的文档
关于react-redux - 组装后无法在react + redux + react-dnd上运行该应用程序,为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56828922/