Ich baue die Flask App mit React, ich hatte Probleme mit dem Routing.Flask und React Routing
Das Backend ist verantwortlich eine API zu sein, damit einige Routen wie folgt aussehen:
@app.route('/api/v1/do-something/', methods=["GET"])
def do_something():
return something()
und der Hauptstraße, die zu den führt zu Reagieren:
@app.route('/')
def index():
return render_template('index.html')
ich react-router in der bin mit Reagiere App, alles funktioniert gut, react-router bringt mich zu und ich bekomme die gerenderte Ansicht, aber wenn ich die Seite auf /something
aktualisiere, dann kümmert sich Flask App um diesen Anruf und ich bekomme Not Found
Fehler.
Was ist die beste Lösung? Ich dachte über das Umleiten aller Anrufe, die nicht anrufen /api/v1/...
zu /
ist es nicht ideal, da ich die Homepage meiner App, nicht gerendert React Ansicht zurück erhalten werde.
Der schnellste und einfachste Weg, wenn Sie nicht möchten, dass Ihr Backend die URLs behandelt, ist die Verwendung der HTML5-History-API. Das Deaktivieren führt zu Hashbang-URLs wie '/ #/something' und das erneute Laden wird immer die'/'Ansicht auf dem Backend auslösen. Andernfalls müssen Sie entweder die Anfragen in Ihrem Backend bearbeiten oder sie an Ihre React-App weiterleiten, die wiederum die Anfrage analysieren und die Standortänderung auslösen muss, wenn die angeforderte URL nicht '/' ist. – sthzg
Das scheint eine Art Lösung zu sein, danke! – knowbody
Ich denke nicht, dass es eine gute Lösung ist. Es ist 2015, du solltest wirklich die History API benutzen. –