Sono un po' un principiante nel reagire. Ho sviluppato un backend per fiaschette e ora voglio abbinarlo a React per il frontend.
Sto usando fetch
in React per fare la richiesta GET. Quando leggo i dati, il testo o la risposta quando chiamo response.text()
è il index.html
file nella public
directory della mia app
Ecco il mio codice di reazione:
componentDidMount() {
fetch('/')
.then(response => {
console.log(response.text()) //Here is the text() i said before
this.setState({ snippets: response.data })
})
.catch(error=>{
console.log(error)
})
}
Ecco il MRE della mia applicazione per fiaschette:
@app.route('/')
def index():
return {'snippets':['blah','blaha']
La mia delega in package.json
proxy: http://127.0.0.1:5000/
Il mio backend per fiaschette funziona alla porta 5000 e reagisce alla porta 3000
Una cosa da notare è che una richiesta POST (da <form>
) viene inviata al server backend e posso recuperare il contenuto della richiesta POST in fiaschetta. E' la richiesta GET che usa fetch
che non funziona.
Struttura dell'elenco:
-env
-getcode
-templates
-static
-__init__.py
-routes.py
-getcode-client
-src
-public
run.py
Qui getcode
c'è la directory dell'app del flask e getcode-client
contiene l'app React creata usando create-react-app
NOTA: Ho anche provato ad impostare un proxy manuale come questo: https://create-react-app.dev/docs/proxying-api-requests-in-development/#configuring-the-proxy-manually
ma ora l'app react non viene mostrata. mostra completamente l'uscita json del mio backend del fiasco