运行测试脚本时发生错误

不变违规:在“连接(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/

10-11 22:10
查看更多