Digamos que tengo una solicitud que quiero hacer con retraso, como Google Docs esperando un momento antes de enviar la solicitud de "guardar", la implementaría en el JavaScript del navegador haciendo algo como esto:
// Overwrite this global window variable. window.saveTimeout = false // Our sample save function. let save = text => fetch("some arbitrary save request") // Lightweight scheduler code that runs each time the user // types something in an input box. document.querySelector("textarea#autosaveInput").addEventListener("click", event => { let text = event.target.value clearInterval(window.saveTimeout) // clear setTimeout(() => save(text), 5000) // run save after 5 seconds })Pero en React, probé algunos métodos para hacer este tipo de cosas sin suerte. He intentado:
Aquí hay un ejemplo de proyecto React que estaría implementando a lo largo de las líneas de:
export default function AutosaveInput(props) { let onChange = event => { let text = event.target.value fetch("some arbitrary save request") // calls every change } return ( <div> <input type="text" onChange={handleSave} /> </div> ) }