【发布时间】:2019-05-19 16:09:04
【问题描述】:
我正在尝试使用 redux 设置反应导航 v3。在反应导航文档中,我可以成功设置导航,并且无需添加 redux 即可正常工作。但是,当我尝试添加我的 redux class App extends React.Component{...} 并连接我的操作时,它会引发以下错误:
Invariant Violation:Invariant Violation:在“Connect(AuthScreen)”的上下文中找不到“store”。要么将根组件包装在 a 中,要么将自定义的 React 上下文提供者传递给连接选项中的 Connect(AuthScreen),并将相应的 React 上下文消费者传递给。
App.js
const MainNavigator = createBottomTabNavigator({
welcome: { screen: WelcomeScreen },
auth: { screen: AuthScreen },
main: {
screen: createBottomTabNavigator({
map: { screen: MapScreen },
deck: { screen: DeckScreen },
review: {
screen: createStackNavigator({
review: { screen: ReviewScreen },
settings: { screen: SettingsScreen }
})
}
})
}
});
const AppContainer = createAppContainer(MainNavigator);
class App extends React.Component {
render() {
return (
<Provider store={store}>
<AppContainer />
</Provider>
);
}
}
export default AppContainer;
这是我想将 redux 连接到的 AuthScreen:
class AuthScreen extends Component {
componentDidMount(){
console.log('This is this.props in AuthScreen:')
console.log(this.props);
this.props.facebookLogin();
}
render(){
return(
<View>
<Text>AuthScreen</Text>
</View>
)
}
}
export default connect(null, actions)(AuthScreen);
我怀疑我不允许像这样在应用容器周围包裹<Provider> 标签,有人可以提供一些关于如何做到这一点的见解吗?
【问题讨论】:
标签: reactjs react-native react-redux react-navigation