Skip to content

ViktorSvertoka/goit-react-woolf-hw-07-phonebook

Repository files navigation

Критерії приймання

  • Створений репозиторій goit-react-woolf-hw-07-phonebook
  • При здачі фiнального завдання є посилання: на вихідні файли та робочі сторінки кожного завдання на GitHub Pages
  • Використана бібліотека Redux Toolkit

Книга контактів

Виконайте рефакторинг коду програми «Книга контактів». Видали код, що відповідає за зберігання та читання контактів з локального сховища, та додай взаємодію з бекендом для зберігання контактів.

Бекенд

Створи свій персональний бекенд для розробки за допомогою UI-сервісу mockapi.io. Зареєструйся, використовуючи свій обліковий запис GitHub.

Створи ресурс contacts, щоб отримати ендпоінт /contacts. Використовуй конструктор ресурсу та опиши об'єкт контакту як на ілюстрації.

api

Форма стану

Додай у стан Redux обробку індикатора завантаження та помилки. Для цього зміни форму стану.

{
  contacts: {
    items: [],
    isLoading: false,
    error: null
  },
  filter: ""
}

Операції

Використовуй функцію createAsyncThunk або RTK Query для взаємодії з бекендом та асинхронними запитами. Обробку екшенів та зміну даних у стані Redux зроби за допомогою createSlice.

Оголоси наступні операції:

  • fetchContacts - одержання масиву контактів (метод GET) запитом. Базовий тип екшену "contacts/fetchAll".
  • addContact - додавання контакту (метод POST). Базовий тип екшену "contacts/addContact".
  • deleteContact - видалення контакту (метод DELETE). Базовий тип екшену "contacts/deleteContact".

Фінальний результат

screencapture