nx/docs/react/tutorial/04-connect-to-api.md
2020-01-23 09:58:08 -05:00

1.1 KiB
Raw Blame History

Step 4: Connect to an API

Real-world applications do not live in isolationthey need APIs to talk to. Setup your app to talk to an API.

Let's change our application to fetch the data from the API.

import React, { useEffect, useState } from 'react';

const App = () => {
  const [todos, setTodos] = useState<Todo[]>([]);

  useEffect(() => {
    fetch('/api/todos')
      .then(_ => _.json())
      .then(setTodos);
  }, []);

  function addTodo() {
    fetch('/api/addTodo', {
      method: 'POST',
      body: ''
    })
      .then(_ => _.json())
      .then(newTodo => {
        setTodos([...todos, newTodo]);
      });
  }

  return (
    <>
      <h1>Todos</h1>
      <ul>
        {todos.map(t => (
          <li className={'todo'}>{t.title}</li>
        ))}
      </ul>
      <button id={'add-todo'} onClick={addTodo}>
        Add Todo
      </button>
    </>
  );
};

export default App;

!!!!! Run "nx serve todos" and open http://localhost:4200. What do you see? !!!!! "the server responded with a status of 404 (Not Found)" in Console. Blank screen. Exception rendered on the screen.