en mi aplicación React, estoy creando un formulario de contacto. Por el momento, estoy tratando de hacer que envíe un correo electrónico, pero el problema es que la función en la que obtengo los valores de un formulario de entrada (y luego envío los valores en un correo electrónico) debe realizarse antes del renderizado del formulario de entrada, porque la función se llama en el renderizado del formulario de entrada (en la parte onSubmit). Pero debido a que los elementos aún no se representan, no puedo obtener los valores de ellos. Entonces, a menos que haya cometido un error tonto o algo así, estoy en una especie de bucle.
Mi código:
import logo from './logo.svg'; import './App.css'; import ContactForm from './contactForm.js' import React from 'react'; import emailjs from '@emailjs/browser'; function sendEmail() { const nameValue = document.getElementById('nameInputId').value; const emailValue = document.getElementById('emailInputId').value; const subjectValue = document.getElementById('subjectInputId').value; const messageValue = document.getElementById('messageInputId').value; const templateParams = { from_name: nameValue, from_email: emailValue, subject: subjectValue, message: messageValue } emailjs.send('service_vaofx8t', 'template_vh7z7yf', templateParams, '8r5pAEVrvJN47utJv'); } class App extends React.Component { render() { return ( <ContactForm submit={sendEmail()} /> ); } }; export default App;