Приложение по реакции + редукса + реагировать-не работает после сборки, почему? - PullRequest
5 голосов
/ 01 июля 2019

при запуске тестового скрипта возникает ошибка

Инвариантное нарушение: не удалось найти «store» в контексте «Connect (DragD ropContext (App))».Либо оберните корневой компонент в a, либо передайте пользовательский поставщик контекста React и соответствующий Consumer Connect контекста React (DragDropContext (App)) в параметрах соединения.

, хотя все работает в разобранном проекте.Насколько я понимаю, есть некоторые проблемы из-за того, что корневой компонент обернут в два документа - один окислительно-восстановительный, другой dnd.

ReactDOM.render(<DragDropContextProvider backend={HTML5Backend}>
                    <Provider store={store}>
                        <App />
                    </Provider>
                </DragDropContextProvider>, document.getElementById('root'));

Я пытался обернуть сначала в dnd, затем в redaks- не помогло, все тоже самое.

1 Ответ

1 голос
/ 01 июля 2019

Кажется, вы перепутали устаревший API декоратора с API верхнего уровня

Legacy Decorator API

С устаревшим декоратором вы можете обернуть его следующим образом:

import HTML5Backend from 'react-dnd-html5-backend'
import { DragDropContext } from 'react-dnd'

class YourApp {
  /* ... */
}

export default DragDropContext(HTML5Backend)(App)

Ознакомьтесь с документацией по Legacy Decorator API здесь ...

API верхнего уровня

Для API верхнего уровня вы используете:

import { DndProvider } from 'react-dnd'
import HTML5Backend from 'react-dnd-html5-backend'
....
...
        <div className="App">
            <DndProvider backend={HTML5Backend}>
                <App />
            </DndProvider>
        </div>

Проверьте документацию по API верхнего уровня здесь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...