正如@PiggyBoy 所说,您可能应该查看 React-Router 等客户端路由,并将应用的当前状态保存在 Redux、Flux 或任何其他中。
您如何在 Flask 应用程序中做到这一点,以及我在大多数 Flask/React 项目中的做法是:
from flask import render_template, make_response
from mysite import app
@app.route('/path-to-react-app/', defaults={ 'path': '' })
@app.route('/path-to-react-app/<path:path>/')
@login_required # if needed
def react_app(path):
response = make_response(render_template(
'react_app.html',
path=path
)
response.set_cookie('your_cookie_if_needed', token_if_needed)
return response
在您的 React 应用程序中,您将拥有如下内容:
import React from 'react'
import { render } from 'react-dom'
import { Router, Route, Link, browserHistory } from 'react-router'
render((
<Router history={browserHistory}>
<Route path='/path-to-react-app' component={App}>
<Route path='some-page' component={PageComponent} />
</Route>
</Router>
), document.getElementById('root'));
然后您可以使用 react-router 的 Link 将您的组件链接在一起