Я пытаюсь перейти от одного компонента к другому, вызывая функцию, которая находится в другом компоненте.Я создал объект из второго компонента и также обнаружил функцию, но она не переходит к ней.
Я также распечатал отладчик и увидел, что он якобы просто пропустил вызов функции.
Файл 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' все время и пропускает вызов функции