nx/docs/react/tutorial/04-connect-to-api.md
Brandon eef0db73bf
docs(core): cleanup tutorials (#6268)
* docs(core): cleanup tutorials

* chore: review fix

Co-authored-by: Isaac Mann <isaacplmann@users.noreply.github.com>

Co-authored-by: Isaac Mann <isaacplmann@users.noreply.github.com>
2021-07-06 13:07:59 -04: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 React, { 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;