entonces estoy haciendo un sitio web donde vendo cosas, y hay un indicador que muestra el stock que queda, para que cada vez que alguien compre, baje en 1.
Logré conectar mi aplicación React a mi backend y funciona.
Mi back-end:
const express = require('express') const app = express() const port = 5000 const number = 999 const text = number.toString(); app.get('/1', (req, res) => { res.set('Access-Control-Allow-Origin', '*'); res.send(text) }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })Y en mi aplicación React:
... const Component = () => { const [data, setData] = useState(null); useEffect(() => { axios.get("http://localhost:5000/1").then(resp => setData(resp.data)) }, []); if(data === null) { return <div>Still loading...</div> } return <div>{data}</div> } ...También tengo una función que permite a los usuarios comprar.
¿Cómo puedo hacer el "envío" frontal y la información al backend que dice "Oye, reduce el number que tienes en 1". ?
Esto debería funcionar:
const express = require('express') const app = express() const port = 5000 let number = 999 const text = number.toString(); app.get('/1', (req, res) => { res.set('Access-Control-Allow-Origin', '*'); number -= 1 res.send(number.toString()) }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) }) Sin embargo, como dice la otra respuesta. Idealmente, debería buscar ejecutar una base de datos de almacenamiento como mysql o mongodb. Si su servidor se cae, el number se restablecerá a 999.
Debe almacenar este tipo de datos en algún almacenamiento, como un archivo o una base de datos, y modificar el valor cuando se realizó una venta. Puede usar la solución de caché para acelerar el viaje de ida y vuelta entre el cliente y el servidor.