I have one parent view's. And I imported a header into this view. In this header there are two buttons. And with these buttons I change the values in a state. Button name Login / Register. I want to listen to the state values of these buttons, from the parent. How can I do that?
Child
export default class LoginRegisterHeader extends Component {
constructor(props) {
super(props);
this.state = {
loginButtonActive: true,
registerButtonActive: false
};
}
login = () => {
this.setState({ loginButtonActive: true, registerButtonActive: false });
}
register = () => {
this.setState({ loginButtonActive: false, registerButtonActive: true });
}
render() {
return (
<View style={styles.viewStyle}>
<Image source={require(logoSource)} style={styles.logo} />
<View style={styles.buttonContainer}>
<TouchableOpacity style={this.state.loginButtonActive == true ? styles.buttonActive : styles.buttonPassive} onPress={this.login}>
<Text style={this.state.loginButtonActive == true ? styles.buttonActiveText : styles.buttonPassiveText}>Login</Text>
</TouchableOpacity>
<TouchableOpacity style={this.state.registerButtonActive == true ? styles.buttonActive : styles.buttonPassive} onPress={this.register}>
<Text style={this.state.registerButtonActive == true ? styles.buttonActiveText : styles.buttonPassiveText}>Register</Text>
</TouchableOpacity>
</View>
</View>
);
}}
Parent:
class Login extends React.Component{
render(){
return(
<View>
<LoginRegisterHeader />
//according to the values I've read here, I will get the third and fourth components
</View>
)
}}export default Login;