Метод подключения React-redux и React Navigation дает ошибку TypeError - PullRequest
0 голосов
/ 02 мая 2020

Я получаю TypeError от React-redux connect при экспорте моего компонента в React Navigation .

Мой компонент

import { logout, login } from './common/redux/actions/index.js'
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';

class AuthenticateUser extends React.Component{
 ....

   render(){ 
    return (
     <View>
      <Text>Login stuff goes here...</Text> 
     </View>
    );
   }
}

function mapStateToProps(state){
    return {
      user: state.user
    };
}

function matchDispatchToProps(dispatch){
  return bindActionCreators(
    {
      logout: logout,
      login: login,
    },
    dispatch
  );
}

export default connect(mapStateToProps, matchDispatchToProps)(AuthenticateUser);

Компонент React-Navigation

  import AuthenticateUser from './AuthenticateUser';

  export const MainTabNav = createBottomTabNavigator(
   {
    ...
    AuthenticateUser:{ 
      screen: AuthenticateUser, 
      navigationOptions:{
        tabBarLabel:'Me',
      }
    },
   });
  const AppNav = createAppContainer(MainTabNav);
  export default AppNav; 

Когда я export мой компонент без connect, он работает. Любое предложение о том, как я могу обойти это?

enter image description here

1 Ответ

0 голосов
/ 03 мая 2020

Итак, после хорошего сна и большего количества кофе, я обнаружил, что мне нужно экспортировать мой компонент с createAppContainer. Это работает сейчас.

export const authComponent = connect(mapStateToProps, matchDispatchToProps)(AuthenticateUser);
export default createAppContainer(authComponent);
...