我正在用React Native编写移动应用程序。我正在尝试使用Redux来简单地存储文本字段输入。我遵循了多个指南,但仍然出现此错误。
Invariant Violation: Could not find "store" in the context of "Connect(CreateSearch)".
在App.js
中创建一个商店和一个减速器:
const initialState = {
name: ''
};
const reducer = (state = initialState, action) => {
switch (action.type)
{
case 'CHANGE_NAME':
return{name:'Alex'}
}
return state;
};
const store = createStore(reducer, initialState);
然后将CreateSearch
组件包装在提供程序中:
export default class App extends React.Component {
render() {
return (
<Provider store={store}>
<CreateSearch/>
</Provider>
);
}
}
最后,在createSearch
中,我创建了函数mapStateToProps
和mapDispatchToProps
。它也可以连接。
function mapStateToProps(state) {
return {
name:state.name
}
}
function mapDispatchToProps(dispatch) {
return {
changeName: () => dispatch({type:'CHANGE_NAME'})
}
}
export default connect(mapStateToProps, mapDispatchToProps)(CreateSearch);
因为最近几天我一直试图解决此问题,所以我感到非常沮丧……我知道这已经被问过多次了,但是我找不到有效的答案。希望您能提供帮助。