下面是我的redux类。
class TestClass extends Component
{
constructor(props){
super(props);
}
method(){
return "Hello"
}
}
function mapStateToProps(state) {
return {
};
}
function mapDispatchToProps(dispatch){
return bindActionCreators({
},dispatch)
}
export default connect(
mapStateToProps,mapDispatchToProps
)(TestClass);
当我尝试它时,抛出一个错误,指出商店丢失了,将其封闭在提供程序中或显式传递了商店
我想创建一个此类的对象并使用该对象调用函数方法!
谢谢
答案 0 :(得分:0)
如果出现此错误:
在“ Connect( MyApp )”的上下文或道具中都找不到“商店”。
可以将根组件包装在,
或显式地将“商店”作为道具传递给“ Connect( MyApp )”。
这意味着您没有将商店提供给组件。
要做的基本清单:
首先,您需要这样做(这不是本文的目的)
A。减速器功能“ myReducer”。
B.初始存储“ myInitialState”的对象。
现在您可以创建自己的Redux商店
示例:
import { createStore } from 'redux';
configureStore = () => {
const store = createStore(myReducer, myInitialState);
return store;
};
const store = configureStore();
最后是时候将商店提供给您的组件了:
3.1。第一个解决方案,将根组件包装在:
import { Provider } from 'react-redux';
在您的JSX中:
<Provider store={store}>
<SomeOtherComponent>
<MyComponent />
</SomeOtherComponent>
</Provider>
3.2。短期或更简单的解决方案是,将“存储”作为道具明确传递给“ Connect(MyApp)”:
在您的JSX中:
<SomeOtherComponent>
<MyComponent store={store} />
</SomeOtherComponent>