Eu sou um pouco principiante a reagir. Desenvolvi um Flask backend e agora quero emparelhá-lo com o React para o frontend.
Eu estou usando fetch
em Reagir para fazer o Pedido de GET. Quando eu leio os dados, o texto ou a resposta quando eu chamo response.text()
é o index.html
arquivo no public
diretório do meu aplicativo
Aqui está o meu código de reacção:
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)
})
}
Aqui está o MRE da minha aplicação do frasco:
@app.route('/')
def index():
return {'snippets':['blah','blaha']
O meu proxy em package.json
proxy: http://127.0.0.1:5000/
O backend do meu frasco está a funcionar na porta 5000 e reage na porta 3000
Uma coisa a notar é que um pedido POST (de <form>
) é enviado para o servidor back end e eu posso recuperar o conteúdo do pedido POST no frasco. É o pedido de GET usando fetch
isso não está funcionando.
Estrutura do diretório:
-env
-getcode
-templates
-static
-__init__.py
-routes.py
-getcode-client
-src
-public
run.py
Aqui getcode
está o diretório do aplicativo do frasco e getcode-client
contém o aplicativo React criado usando create-react-app
NOTA: Também tentei configurar um proxy manual como este: https://create-react-app.dev/docs/proxying-api-requests-in-development/#configuring-the-proxy-manually
mas agora a aplicação de reacção não é mostrada. Mostra completamente a saída do meu frasco do fundo do json