在Connect()的上下文中找不到“存储”

时间:2019-11-27 13:06:20

标签: javascript react-native redux react-redux

我正在用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中,我创建了函数mapStateToPropsmapDispatchToProps。它也可以连接。

function mapStateToProps(state) {
  return {
    name:state.name
  }
}

function mapDispatchToProps(dispatch) {
  return {
    changeName: () => dispatch({type:'CHANGE_NAME'})
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(CreateSearch);

因为最近几天我一直试图解决此问题,所以我感到非常沮丧……我知道这已经被问过多次了,但是我找不到有效的答案。希望您能提供帮助。

0 个答案:

没有答案