вызов функции из другого компонента - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь перейти от одного компонента к другому, вызывая функцию, которая находится в другом компоненте.Я создал объект из второго компонента и также обнаружил функцию, но она не переходит к ней.

Я также распечатал отладчик и увидел, что он якобы просто пропустил вызов функции.

Файл login.js:

import LogOut from '../LogOut/LogOut';
class Login extends Component {
    const obj = new LogOut();

    ForgotPass11() {
        const { a } = this.state
        console.log(this.state.a)
        this.state = { a : 2}
        console.log(this.state.a)
        obj.renderContent();
        console.log(this.state.a)
    }
}

Файл LogOut.js:

import React, { Component } from 'react';
import { StyleSheet, View } from 'react-native';
import firebase from 'firebase';
import CardSection from '../HomePage/CardSection';
import Button from '../HomePage/Button';
import Spinner from '../HomePage/Spinner';
import Login from '../Login/Login';
import SignUp from '../Login/SignUp';


class LogOut extends Component {

  state = { a : false };
  state = { loggedIn: null };
  componentWillMount () {

  firebase.initializeApp({ 
    .....
  });

firebase.auth().onAuthStateChanged((user) => {
  if (user) {
    this.setState ({ loggedIn: true});
  }

  else {
    this.setState ({ loggedIn: false});
  }
});




  }

  constructor (props) {
    super(props)
    this.state = {
    a: null
  }
}

  renderContent() {
     switch (this.state.loggedIn) {
       case true:
         return(
           <CardSection>
              <Button onPress={() => firebase.auth().signOut()}> 
              Log out
              </Button>
           </CardSection>
         );
       case false:
          if(this.state.a == true){
              return <SignUp />
          }
          else
              return <Login />

          default:
              return <Spinner size= "large" />
     }
  }
  render () {

return (
  <View>
    {this.renderContent()}

  </View>
);



  export default LogOut;

Внесено изменение в 'a'

Как я уже говорил, я изменяю переменнуюa и после изменения она не вызывает меня к функции rendercontent ()

Печатает меня в 'a' все время и пропускает вызов функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...