Использование fetch для получения простой строки из flask api - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь подключить мой flask API к моему приложению реагирования, и все, что я хочу от этого, это отобразить строку, которую я возвратил из flask в приложении реагирования.

При этом я использовал useEffect (), но моя переменная в реагировать не изменяется, а просто сохраняет исходное состояние. Когда я использую console.log, чтобы увидеть значение, которое я передаю в переменную, появляется сообщение об ошибке «Uncaught (в обещании) SyntaxError: неожиданный токен <в JSON в позиции 0». </p>

App . js выглядит так:

import React, {Component, useState, useEffect} from 'react';
import './App.css';


function App() {
  const [block, setBlock] = useState(0);

  useEffect(() => {
    fetch('/video').then(res => res.json()).then(data => {
      setBlock(data.text);
      console.log(data.text);
    });
  }, []);

  return (
    <div className="App">
      <header className="App-header">
        <p>Text: {block}</p>
      </header>
    </div>
  );
}


export default App;

часть flask (flask .py):

@app.route('/video')
def video():
    return {'text': text}

Любое понимание будет с благодарностью!

1 Ответ

0 голосов
/ 09 апреля 2020

Если вы хотите вернуть JSON с маршрута Flask, используйте flask.jsonify.

from flask import jsonify
@app.route('/video')
def video():
   return jsonify({'text': text})
...