Тема 13. React.js Polling App
Створення Polling App
- Новий додаток
- Форматування
- Файли та папки
Створення React.js додатку, введення команд в консоль
D: або C: - переключення між дисками
cd - переходимо в необхідну вам папку
npx create-react-app назва додатку - створення нового React.js проєкту
npx create-react-app - сама команда створення
назва додатку - назва папки в якій буде додаток
cd назва додатку - переходимо в створену папку
Видаляємо непотрібні файли, чистимо index.js та App.js від непотрібних команд
Видаляємо файли: setupTests.js,repor,WebVitals.js,logo.svg,index.css,App.test.js
З файлу index.js видаляємо такі рядки
import './index.css'; import reportWebVitals from './reportWebVitals'; reportWebVitals();
Та коментарі: // If you want...
З файлу App.js видаляємо import logo from './logo.svg';
Тег <div className="app"> і все що всередині нього
В папці src залишаємо лише такі файли:
App.js, App.css, index.js
Одразу можете створити папку Components - папка для компонентів наших файлів
Початок роботи із App.js та іншими файлами
- Інформація
Короткий опис: Цей код створює простий додаток для створення опитувань за допомогою React.js. Користувач може створювати опитування та добавляти варіанти голосування за допомогою кнопок.
1. Добавити новий компонент PollingApp.j одразу підключіть та виведіть їх в App.js
2. Нижче код кожного із файлів, вставте цей код у свої створені файли.
Скопіюйте стилізацію нижче та замініть її в файлі App.css
- Інформація
Робимо заміну всієї стилізації в файлі App.css на свою, яку копіювали вище
Створення Polling App
Завдання 4
- Інформація
- Підказка
Міжнародна підтримка: Додайте можливість вибору мови для інтерфейсу користувача, щоб ваш додаток був доступним для користувачів з різних країн.
Ось кроки, які потрібно виконати:
- Встановіть бібліотеку
react-i18next
:
Відкрийте термінал у вашому проекті і виконайте команду:npm install i18next react-i18next
- Створіть файли з перекладами:
Створіть теку з назвою locales
у кореневій директорії вашого проекту. У цій текі створіть файли з перекладами для кожної мови, яку ви хочете підтримувати. Наприклад, для англійської мови створіть файл en.json
, а для української мови - uk.json
. У цих файлах визначте переклади для кожного тексту, який ви використовуєте у вашому додатку.
Приклад вмісту en.json
:{
"polling_app.title": "Polling App",
"polling_app.create_poll": "Create a New Poll",
"polling_app.enter_poll_title": "Enter Poll Title",
"polling_app.enter_option": "Enter Option",
"polling_app.add_option": "Add Option",
"polling_app.create_poll_btn": "Create Poll",
"polling_app.new_poll_options": "New Poll Options",
"polling_app.polls": "Polls",
"polling_app.edit": "Edit",
"polling_app.delete": "Delete",
"polling_app.vote": "Vote"
}
- Додайте компонент для вибору мови:
Створіть компонент, який дозволить користувачам вибирати мову. Наприклад, це може бути селектор мови у заголовку або в меню вашого додатку.
- Використайте
react-i18next
для перекладу текстів:
У вашому коді замість використання жорстко закодованих текстів використовуйте ключі, які ви визначили в файлах з перекладами, і використовуйте функцію useTranslation
для отримання відповідного перекладу.
Додаткові завдання
- Завдання 1
- Завдання 2
- Завдання 3
- Завдання 4
- Завдання 5
Голосування за фото або відео: Дозвольте користувачам додавати не лише текстові опції, але й фотографії або відео, за якими потім можна голосувати.
Графіки та діаграми: Візуалізуйте результати опитувань за допомогою графіків та діаграм, щоб зробити їх більш зрозумілими.
Модерація контенту: Додайте можливість модерувати опитування та коментарі, щоб уникнути образливого або неприйнятного контенту.
Опитування зі зворотним відліком: Дозвольте створювати опитування, які будуть активними лише протягом певного часу або до досягнення певної кількості голосів.
Інтерактивні елементи: Додайте інтерактивні елементи, такі як перетягування варіантів опитування для зміни їх порядку або відсоткові показники голосів на живому графіку.