我已经为我已经工作了几天的React本机应用程序设置了Redux。我不断发生不变错误,无法在上下文或道具中找到存储。我已经谷歌搜索了几天,并尝试了多种不同的解决方案,但是我似乎无法解决此错误。
商店:
`import React from 'react';
import { render } from 'react-dom'
import { Provider } from 'react-redux';
import { createStore,applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import combineReducers from "./reducers/combineReducers";
import App from './App'
const store = createStore(combineReducers ,applyMiddleware(thunk));
render(
<Provider store={store}>
<App/>
</Provider>,
document.getElementById('App')
);`
应用程序组件
import React, {Component} from 'react';
import {StyleSheet, View} from 'react-native';
import MainMenu from "./Components/MainMenu";
import {Root} from "native-base";
import {connect} from 'react-redux';
import {Font, AppLoading} from 'expo';
export class App extends Component {
state = {
loadingFont: true,
testText:'Test'
};
async componentDidMount() {
try {
await Font.loadAsync({
'pixel-font': require('./assets/fonts/Roboto-Medium.ttf'),
});
this.setState({loadingFont: false});
}catch (e) {
console.log(e)
}
}
render() {
if (this.state.loadingFont) {
return (
<Root>
<AppLoading/>
</Root>
);
}
return (
<View style={styles.container}>
<MainMenu/>
</View>
);
}
}
const mapStateToProps = state => {
return {productions:state.productions}
};
export default connect(mapStateToProps)(App);
const styles = StyleSheet.create({
container: {
flex:1,
backgroundColor:'#fff',
justifyContent: 'center',
},
});
我知道这是一个已经问过很多次的问题,但是我觉得我已经浏览了所有答案,没有发现任何工作。在这一点上,我知道我已经在某个地方犯了一个错误,但是在看了几天之后,我对自己找到任何解决方案而失明了。
从您的商店文件中导出商店并将其导入您的app.js文件。提供商也应在您的app.js文件中包裹在<Root>
周围。您在反应中工作吗?如果是这样,您将不使用React-Dom,Expo将加载App.js文件。