# React-hooks

#### Введение
Разработан бэкенд для управления с использованием webpack 5, react 18. Полностью переработана архитектура на основе хуков: useContext, useReducer, useState.

#### Архитектура ПО
UI Ant Design
react 18  axios webpack 5  ts
hooks useContext useReducer useState

#### Инструкция по установке

0.  Node > 12.0 react 18 hooks
1.  Установить зависимости npm install
2.  Запустить проект npm run dev
3.  Автоматически заполнить npm run lint


#### Установка eslint

1.  npm i eslint -D
2.  Инициализировать конфигурационный файл ./node_modules/.bin/eslint --init или npx eslint --init. В корневом каталоге будет создан файл .eslintrc.js
3.  Проверить файлы не в формате js. Обычно Eslint проверяет только файлы js. Если мы хотим проверить файлы .vue или .jsx, недостаточно настроить анализатор vue-eslint-parser. Нужно также позволить Eslint находить файлы .vue. Можно использовать --ext для указания формата файлов, которые нужно проверить
4.  В списке правил можно найти правила с флагом, которые могут быть автоматически исправлены Eslint. Чтобы автоматически исправить, используйте --fix. Аналогично команде проверки файла, просто добавьте команду исправления
    ```
    npx eslint --fix src
    ```
5.  Конечно, каждый раз вводить команды слишком сложно и неудобно. Мы можем настроить команды проверки и исправления в package.json
    ```
    {
       "scripts": {
           "lint": "npx eslint --ext .js,.jsx,.vue src",
           "lint:fix": "npx eslint --fix --ext .js,.jsx,.vue src"
       }
    }
    ```
6.  Отфильтровать файлы, которые не нужно проверять. В некоторых случаях нам не нужно проверять некоторые файлы или по какой-то причине не хотим проверять определённый файл в текущей ситуации. Просто создайте файл .eslintignore в корневом каталоге и укажите каталог или файл. Путь — это относительный путь от корневого каталога. Eslint по умолчанию игнорирует файлы в каталоге /node_modules/, и этот каталог не требует настройки.

#### Скачать prettier

1.  npm i prettier -D, затем выполнить npx prettier --write index.js. Неаккуратный код станет аккуратным.
2.  Настроить .prettierrc.js или .prettierrc (формат json)
#### Участие в проекте

1.  Fork этого репозитория
2.  Создать ветку Feat_xxx
3.  Отправить код
4.  Создать Pull Request


#### Особенности

1.  Использовать Readme_XXX.md для поддержки разных языков, например Readme_en.md, Readme_zh.md
2.  Официальный блог Gitee [blog.gitee.com](https://blog.gitee.com)
3.  Вы можете [https://gitee.com/explore](https://gitee.com/explore) узнать об отличных проектах с открытым исходным кодом на Gitee
4.  [GVP](https://gitee.com/gvp) — это аббревиатура от Gitee Most Valuable Open Source Project, которая представляет собой список выдающихся проектов с открытым исходным кодом, отобранных Gitee
5.  Руководство по использованию, предоставленное Gitee [https://gitee.com/help](https://gitee.com/help)
6.  Gitee Stars — это раздел, демонстрирующий таланты членов Gitee [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)