nx/docs/shared/react-tutorial/04-connect-to-api.md
Isaac Mann a49ac56789
docs(react): update react tutorial (#8757)
* docs(react): update react tutorial

* docs(core): update nx dev

Co-authored-by: Isaac Mann <isaacplmann+git@gmail.com>
2022-01-28 20:57:53 +00:00

1.2 KiB
Raw Blame History

React Nx Tutorial - 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 { useEffect, useState } from 'react';

interface Todo {
  title: string;
}

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;