Ошибка функции Redux connect: перехваты могут вызываться только внутри тела функционального компонента

#react-native #redux #react-redux #react-hooks

#react-native #redux #react-redux #реагирующие перехваты

Вопрос:

Если я изменю эту строку

пусть Auth = connect(null,null)(AuthScreen)

с помощью этого

пусть Auth = AuthScreen

все работает. Однако мне нужно использовать redux, и я получаю эту ошибку

Инвариантное нарушение: перехваты могут вызываться только внутри тела функционального компонента.

Эта ошибка находится по адресу: в ConnectFunction (созданной SceneView) в SceneView (созданной SwitchView) в SwitchView (созданной Navigator) в Navigator (в createAppContainer.js:387) в 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)

Эта ошибка находится по адресу: в NavigationContainer (в App.js: 29) в Provider (в App.js:28) в App (в renderApplication.js:34) в RCTView (в View.js:45) в View (в AppContainer.js:98) в RCTView (вView.js:45) в представлении (в 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
 

Комментарии:

1. Пожалуйста, покажите AuthScreen

2. Я изменил AuthScreen, как вы можете видеть, но я все равно получаю ту же ошибку. @Vencovsky