React native 找不到“;商店「;在“的上下文或道具中”;连接(家庭)“;
如何修复此错误? 在“连接(主页)”的上下文或道具中找不到“存储”。将根组件包装在一个文件中,或者显式地将“store”作为prop传递给“Connect(Home)”React native 找不到“;商店「;在“的上下文或道具中”;连接(家庭)“;,react-native,react-redux,React Native,React Redux,如何修复此错误? 在“连接(主页)”的上下文或道具中找不到“存储”。将根组件包装在一个文件中,或者显式地将“store”作为prop传递给“Connect(Home)” 这是一个如何连接的示例 提供者类 如果您使用的是react路由器,则需要遵循以下顺序: index.jsx-- 提供程序中的存储参数应该是createStore。您可以为您创建的存储显示代码吗?if(module.hot)的目的是什么? import React, { Component, PropTypes } from "r
这是一个如何连接的示例 提供者类
如果您使用的是
react路由器
,则需要遵循以下顺序:
index.jsx--
提供程序中的存储参数应该是
createStore
。您可以为您创建的存储显示代码吗?if(module.hot)
的目的是什么?
import React, { Component, PropTypes } from "react";
import { Router } from "react-native-router-flux";
import scenes from "../routes/scenes";
import { Provider } from "react-redux";
export default class AppContainer extends Component {
static propTypes = {
store: PropTypes.object.isRequired
}
render(){
return (
<Provider store={this.props.store}>
<Router scenes={scenes} />
</Provider>
);
}
}
import { createStore, applyMiddleware, compose } from "redux";
import thunk from "redux-thunk";
import makeRootReducer from "./reducers";
import { createLogger } from "redux-logger";
const log = createLogger({ diff: true, collapsed: true });
const store = createStore( makeRootReducer(), initialState, compose(applyMiddleware(...middleware), ...enhancers ));
return store;
};
// Third party.
import React, { Component } from 'react';
import { Provider } from 'react-redux';
// App modules
import setupStore from './utils/setupStore'; //This is the trick
// Assets Actions
const store = setupStore(); //==> Here calling the function inside setupStore file
// App component.
import App from './App';
export default class Root extends Component {
render() {
return (
<Provider store={store}>
<App />
</Provider>
)
}
}
// Node Core Third party
import { applyMiddleware, createStore } from 'redux';
import thunk from 'redux-thunk';
// App Modules
import rootReducer from '../store'; //Your combine reducer file
const middleware = applyMiddleware(thunk);
export default function configureStore() {
const store = createStore(rootReducer, middleware); //This is the createStore I was talking to you about.
if (module.hot) {
module.hot.accept(() => {
const nextRootReducer = require('../store/index').default;
store.replaceReducer(nextRootReducer);
})
}
return store;
}
import { Router, Route, IndexRoute, browserHistory } from 'react-router'
ReactDOM.render(
<Provider store={store}>
<div>
<Router history={browserHistory}>
<Route path="/" component={App}>
<Route path="foo" component={Foo}/>
<Route path="bar" component={App}/>
</Route>
</Router>
</div>
</Provider>,
document.getElementById('react-app')
)
"react": "^0.14.7",
"react-dom": "^0.14.7",
"react-redux": "^4.3.0",
"react-router": "^2.0.0",
"redux": "^3.2.1",
"react-router-redux": "^4.0.0",
"webpack": "^1.9.8",
"webpack-bundle-tracker": "0.0.5",
"webpack-dev-server": "^1.16.5"