Если я изменю эту строку
let Auth = connect (null, null) (AuthScreen)
с этим
letAuth = AuthScreen
все работает.Однако мне нужно использовать redux, и я получаю эту ошибку
Инвариантное нарушение: хуки могут вызываться только внутри тела компонента функции.
Эта ошибка находится по адресу: inConnectFunction (созданный SceneView) в SceneView (созданный SwitchView) в SwitchView (созданный Navigator) в Navigator (в createAppContainer.js: 387) в NavigationContainer (в App.js: 29) в Provider (в App.js: 28)в приложении (в renderApplication.js: 34) в RCTView (в View.js: 45) в View (в AppContainer.js: 98) в RCTView (в View.js: 45) в View (в AppContainer.js: 115)в AppContainer (в renderApplication.js: 33)
Эта ошибка находится по адресу: в NavigationContainer (в App.js: 29) в Provider (в App.js: 28) в App (в renderApplication.js:34) в RCTView (в View.js: 45) в View (в AppContainer.js: 98) в RCTView (в View.js: 45) в View (в AppContainer.js: 115) в AppContainer (в renderApplication.js:33)
let Auth = connect(null,null)(AuthScreen);
const RootStack = createSwitchNavigator(
{ Auth: Auth},
{initialRouteName: 'Auth'}
);
let AppContainer = createAppContainer(RootStack);
export default class App extends Component<Props> {
render() {
return (
<Provider store={store}>
<AppContainer />
</Provider>
);
}
}
package.json
{
"name": "untitled16",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"npm": "^6.9.0",
"prop-types": "latest",
"react": "^16.8.3",
"react-dom": "^16.8.3",
"react-native": "^0.58.4",
"react-native-gesture-handler": "^1.1.0",
"react-navigation": "^3.8.1",
"react-redux": "^7.0.2",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0"
},
"devDependencies": {
"@babel/core": "7.4.3",
"@babel/runtime": "7.4.3",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"metro-react-native-babel-preset": "0.53.1",
"react-test-renderer": "16.8.3",
"redux-devtools": "^3.5.0"
},
"jest": {
"preset": "react-native"
}
}
AuthScreen.js
class AuthScreen extends Component{
render(){
return(
<Text>This is a text</Text>
) }}
export default AuthScreen