-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Review #3
Review #3
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Здравствуйте. (Нужно развернуть общий комментарий ↓)
Посмотрите на гитхабе все комментарии к коду (нужно прокрутить вниз страницу там)
Работа проделана огромная
Что сделано отлично:
- Хорошо реализовали форму из предоставленных компонентов
- Хорошая логика передачи данных от
App
в форму и обратно - Отлично, что обработчик сабмита вешаете на форму, а не клик на кнопку.
- Отлично, что нет типов
any
- Отлично типизировали проект
Что можно улучшить:
- По семантике нужно помещать весь главный контент страницы после хэдера в тег
main
. - Лучше выделить компонент
App
в отдельный файл, чтобы не смешивать все вindex.js
clsx
можно не использовать, если только один селектор передается
Поздравляю! Ваша работа принята.
Критических замечаний нет
Вы отлично потрудились.
Удачного дальнейшего обучения.
@@ -13,19 +16,25 @@ const domNode = document.getElementById('root') as HTMLDivElement; | |||
const root = createRoot(domNode); | |||
|
|||
const App = () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Можно лучше
- Лучше выделить компонент
App
в отдельный файл, чтобы не смешивать все вindex.js
@@ -13,19 +16,25 @@ const domNode = document.getElementById('root') as HTMLDivElement; | |||
const root = createRoot(domNode); | |||
|
|||
const App = () => { | |||
const [articleState, setArticleState] = | |||
useState<ArticleStateType>(defaultArticleState); | |||
|
|||
return ( | |||
<div |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Можно лучше
- По семантике нужно помещать весь главный контент страницы после хэдера в тег
main
.
@@ -13,19 +16,25 @@ const domNode = document.getElementById('root') as HTMLDivElement; | |||
const root = createRoot(domNode); | |||
|
|||
const App = () => { | |||
const [articleState, setArticleState] = | |||
useState<ArticleStateType>(defaultArticleState); | |||
|
|||
return ( | |||
<div | |||
className={clsx(styles.main)} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Можно лучше
clsx
можно не использовать, если только один селектор передается
No description provided.