Intento restablecer el campo de entrada cuando el usuario envía un artículo. Pero no me doy cuenta. Aquí está mi código.
const onSubmit = (myData) => { const url = "https://automobilereact.herokuapp.com/product"; const newData = { ...myData, sold: 0 }; fetch(url, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(newData), }) .then((res) => res.json()) .then((result) => console.log(result)); const { data } = axios.post("https://automobilereact.herokuapp.com/add-item", { ...myData, email: user.email, sold: 0, }); };Hay múltiples soluciones, pero esta es la mejor manera de hacerlo.
vincular la entrada a un estado:
const [inputContent, setInputContent] = useState("Default value")código de entrada:
<input onChange={(e) => setInputContent(e.target.value)} value={inputContent} /> Al enviar, elimine el valor inputContent
const onSubmit = (myData) => { setInputContent("") // Rest of code... }; const onSubmit = (myData) => { const url = "https://automobilereact.herokuapp.com/product"; const newData = { ...myData, sold: 0 }; fetch(url, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(newData), }) .then((res) => res.json()) .then((result) => console.log(result)); const { data } = axios.post("https://automobilereact.herokuapp.com/add-item", { ...myData, email: user.email, sold: 0, }); // Try this out.... let inputs = document.getElementById("id"); inputs.value = ""; };Utilice este método para cada campo de entrada. Simplemente establezca su valor en vacío. Como esto...
let inputs = document.getElementById("id"); inputs.value = ""; };Recuerde utilizarlos todos en el último método de publicación. Si lo utiliza antes de publicar el valor, sus datos se enviarán vacíos.