-
Notifications
You must be signed in to change notification settings - Fork 181
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
Add new example - Falkchat #648
Conversation
✅ Deploy Preview for pr-fsd ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
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.
Привет, спасибо за пример!
Есть несколько структурных несоответствий FSD:
- На слое features слайсы оформлены файлами, а не папками, в которые можно было бы положить сегменты. Если в дальнейшем фичи будут увеличиваться в логике (как обычно происходит с проектами), то делить код по техническому назначению будет сложнее. Если у тебя слайс состоит только из одного UI-компонента, то его стоит оформить в файлы
%slice_name%/index.ts
и%slice_name%/ui/%component_name%.tsx
- На слое Entities много слайсов, и большая их часть не соответствует сущностям в бизнес-домене. Я бы ожидал увидеть там слайсы user, group, message, а у тебя в проекте там, скорее, компоненты
- В Pages тоже весьма нестандартная структура, там в слое сразу сегмент API, без слайсов
В целом, имеет смысл снизить уровень декомпозиции. Фичи и сущности — штуки непростые, и в идеале как можно больше кода стоит оставлять в слайсах каждой из страниц.
Привет, принял правки. Что касается pages, то это скорее не про FSD а про сокеты, они не работают с новым App Router из-за чего их нужно помещать в папку pages. |
Привет еще раз, спасибо, по тем правкам все хорошо. Посмотрел проект прямо подробно, выписал следующие пункты:
Еще местами заметил, что у тебя импорты залезают внутрь слайса, например, в |
Привет, поправил.
|
suggestion (non-blocking): Ты назвал сегмент в Shared issue: В issue: сегмент issue: с сущностью suggestion (non-blocking): у тебя есть фича issue: немного путаюсь в question: разве nitpick (non-blocking): в question: а почему ты решил назвать слой pages |
|
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.
Окей, спасибо, что так оперативно реагировал! Теперь все кул, готово к мерджу :)
так как api как я понимаю подходит для конкретных запросов к бекенду
Не, необязательно. api
— это про все, что связано со внешними API.
Пример с использованием shadcn/ui и Next
https://github.com/falkomerr/falkchat