Одновременное включение данных при обслуживании React с Flask - PullRequest
0 голосов
/ 29 декабря 2018

Сейчас у меня есть сервер Flask, который имеет конечные точки API и обслуживает файлы.При обслуживании файлов он в основном обслуживает html-шаблон, который включает в себя другой сценарий (который является React, в комплекте с веб-пакетом) в зависимости от маршрута, например так:

@bp.route('/getData/', methods=('GET',))
def getData():
    return render_template('base.html', scriptName="getData.js")

@bp.route('/postData/', methods=('GET',))
def postData():
    return render_template('base.html', scriptName="postData.js")

В моем React основной компонент имеетМетод componentDidMount (), который выполняет вызовы к конечным точкам API того же сервера Flask с использованием fetch (), например:

componentDidMount(){
        let url ='/api/firstPage';
        fetch(url, {
            method: 'GET',
            credentials: 'include',
            header: {
                'Content-Type': 'application/json'
            },
        })
        .then(res => res.json())
        .then(data => this.setState({
            "response": data
        }));
}

Конечная точка API, которую он вызывает, в основном, затем отправляет данные обратно в обслуживаемый файл:

@bp.route('api/firstPage', methods=("GET",))
def firstPage():
    ...
    return cors_res(initData)

Есть ли способ, которым я могу сделать это эффективно, и я даже делаю это правильно?Например, есть ли способ отправить данные с помощью файла html / React?Прямо сейчас я работаю с html / React, который затем делает еще один вызов API, и это кажется ненужным шагом.Я знаю, что используя шаблонизатор, такой как EJS или другие, вы можете включить данные в файл.Есть ли способ сделать это с React?

...