Yo uso aquí un modal. En el caso de que todo esté bien y agregué los datos a la base de datos, quiero cerrar automáticamente el modal con la línea "this.props.closeModal" pero me sale el error undefined is not an object (evaluando this.props)
closeModal se llama desde el campo EmailChildConnect.js y el valor changeshowTaskVisible
¿Algunas ideas?
ConnectModal.js
class ConnectModal extends React.Component { addAdultConnexion = async () => { if (this.state.emailAdult !== "") { //add to the firebase in the case that is good this.props.closeModal; else { Alert.alert("", "the email does not exist"); }; } else { Alert.alert("", "field is required"); } }; render() { return ( <CustomBackground> <TouchableOpacity onPress={this.props.closeModal} > <AntDesign name="close" size={WIDTH / 17.2} color={colors.black} /> </TouchableOpacity> <View> <TextInput onChangeText={(text) => this.setState({ emailAdult: text })} value={this.state.emailAdult}/> <CustomValidationButton onPress={() => this.addAdultConnexion()}> <Text>add</Text> </CustomValidationButton> </View> </CustomBackground> ); } }
EmailChildConnect.js:
class EmailChildConnect extends React.Component { state = { showTaskVisible: false, }; toggleisModal() { this.setState({ showTaskVisible: !this.state.showTaskVisible }); } render() { const email = this.props.email; return ( <View> <Modal animationType="slide" visible={this.state.showTaskVisible} onRequestClose={() => this.toggleisModal()} > <ConnectModal email={email} closeModal={() => this.toggleisModal()} /> </Modal> <RenderListEmail onPress={() => this.toggleisModal()} children1={email.name} children2={email.childEmail} /> </View> ); } }