Could not find "store" in either the context or props of "Connect(BasicLayout)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(BasicLayout)". Invariant Violation: Could not find "store" in either the context or props of "Connect(BasicLayout)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(BasicLayout)".
时间: 2023-07-19 07:39:09 浏览: 272
vuex 解决报错this.$store.commit is not a function的方法
这个错误提示一般是因为在使用 React-Redux 的时候,没有正确地将 store 传递给所有需要使用它的组件。你需要在应用程序的根组件中使用 Provider 组件,将 store 作为 prop 传递给它。例如:
```javascript
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore } from 'redux';
import rootReducer from './reducers';
import App from './App';
const store = createStore(rootReducer);
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);
```
这样,App 组件以及它的所有子组件都可以通过 connect 方法来连接到 Redux store。如果你已经正确地使用了 Provider 组件,并且仍然遇到这个错误,请确保你的组件是否正确地使用了 connect 方法,并且是否将 store 作为参数传递给它。
阅读全文