Не удалось найти «store» в контексте «Connect» - PullRequest
0 голосов
/ 31 января 2020

Я обновляюсь с "реакции-навигации": "^ 3.0.9"> "реагировать-навигации": "^ 4.1.0"

Я получаю эту ошибку:

Нарушение инварианта: не удалось найти «store» в контексте «Connect (HomeScreen)». Либо оберните компонент root в a, либо передайте пользовательский поставщик контекста React соответствующему получателю контекста React в Connect (HomeScreen) в параметрах соединения.

app.tsx:

import NavigationService from './navigation/NavigationService';
import {connect} from 'react-redux';
import SplashScreen from 'react-native-splash-screen';
import {store, persistor} from './config/configureStore';
import {PersistGate} from 'redux-persist/integration/react';
import AppNavigator from './navigation/AppNavigator';
class App extends React.Component {
  componentDidMount() {
    // SplashScreen.hides();
  }
  render() {
    const {videos} = this.props;

    return (
      ..
        <PersistGate loading={null} persistor={persistor}>
          <AppNavigator
            ref={navigatorRef => {
              NavigationService.setTopLevelNavigator(navigatorRef);
            }}
          />
        </PersistGate>...
    );
  }
}

export default App;

Домашний экран:

class HomeScreen extends React.Component {
  constructor(props) {
    super(props);
  }
  componentDidMount() {
    const {fetchData} = this.props;
    fetchData();
  }

  render() {
    const {videos} = this.props;

    return (
      <View style={styles.container}>
        <HomeMenu {...this.props} />
      </View>
    );
  }
}

const mapDispatchToProps = dispatch => ({
  fetchData: () => dispatch(fetchData()),
});
const mapStateToProps = state => {
  return {
    videos: state.tcApp.videos,
  };
};
export default connect(
  mapStateToProps,
  mapDispatchToProps,
)(HomeScreen);

AppNavigator:

..
const config = {
    ..
};

const withHeader = (
    screen: Function,
    routeName: string,
    Header,
): StackNavigator =>
    createStackNavigator(
        {
            [routeName]: {
                screen,
                navigationOptions: ({routeName, props}) => ({
                    header: props => <Header {...props} />,
                }),
            },
        },
        {
            initialRoute: 'Home',
            cardStyle: {
                backgroundColor: 'transparent',
                opacity: 1,
            },
            transitionConfig: () => ({
                containerStyle: {
                    backgroundColor: 'transparent',
                },
            }),
        },
    );

const routes = {
    ...
};

const NestedDrawer = createDrawerNavigator(routes, config);

const MainStack = createStackNavigator(
    {
        Home: {
            screen: HomeScreen,
            navigationOptions: ({props}) => ({
                header: props => <HomeHeader {...props} />,
            }),
        },
    ...
    },
    {
    ....
    },
);

export default createAppContainer(MainStack);

Я получаю ошибку ниже:

...