gpt4 book ai didi

javascript - 在 "store"的上下文中找不到 "Connect(AppComponent)"

转载 作者:行者123 更新时间:2023-11-30 19:50:19 25 4
gpt4 key购买 nike

我收到此错误并搜索了解决方案,但似乎一切都应该正确设置。

完整的错误是:“不变违规:无法在“Connect(AppComponent)”的上下文中找到“store”。要么将根组件包装在 a 中,要么将自定义 React 上下文提供程序传递给连接选项,并将相应的 React 上下文使用者传递给连接选项中的 Connect(AppComponent) .

此错误位于:在 Connect(AppComponent) (at renderApplication.js:34) in RCTView (at View.js:45) in View (at AppContainer.js:98) in RCTView (at View.js: 45) 在 View 中(在 AppContainer.js:115)在 AppContainer 中(在 renderApplication.js:33)

这是我的代码:

索引.js

import { Provider } from 'react-redux'
import { createStore } from 'redux';

import App from './app/App';
import appState from './app/redux/reducers';

import {name as appName} from './app.json';

let store = createStore(appState);
export default class AppRoot extends Component {
render() {
return (
<Provider store={store}>
<App/>
</Provider>
);
}
}

AppRegistry.registerComponent(appName, () => App);

App.js

//import...

class AppComponent extends Component {
//code..
}

const mapStateToProps = (state, props) => {
return {}
};

const mapDispatchToProps = (dispatch, props) => {
return {
onFavoriteChange: (id, type) => {
switch(type){
//cases...
}
}
}
};

const App = connect(
mapStateToProps,
mapDispatchToProps
)(AppComponent);

export default App;

index.js(在/reducers 中)

import { combineReducers } from 'redux';

//imports...

let appState = combineReducers({
//all import...
});

export default appState;

最佳答案

在根注册的 App 组件不是 AppRoot。这意味着 React 渲染 App 时没有 Provider 来提供商店。然后 connect HOC 抛出一个错误。您必须将调用更新为:

AppRegistry.registerComponent(appName, () => AppRoot);

关于javascript - 在 "store"的上下文中找不到 "Connect(AppComponent)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54555078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com