
Дмитрий
20.04.2018
21:35:36
Да
Но я знаю в каком виде редакс точно нужен

Dmitry
20.04.2018
21:35:49
ну во внутренней реализации
главное не спойлерить что он юзается)

Google

Дмитрий
20.04.2018
21:36:09
Я планирую пройти все его тесты, просто чтобы значть, что фолбэк есть и он работает

Dmitry
20.04.2018
21:36:24
сделать как в апполо было
он юзался, но наружу его можно было не выводить

Дмитрий
20.04.2018
21:36:44
А
Ну типа того, да

Dmitry
20.04.2018
21:38:19
Если кто-то будет это юзать и это будет как мидлвара для редукса, то будет больше гемороя из-за неправильного концепутального подхода

Дмитрий
20.04.2018
21:38:54
Там от самих условий работы для миддлвар столько геморроя что ппц)
Инстансы классов нельзя

Dmitry
20.04.2018
21:39:55
Ну а по факту тебе от того редукса ниче и не надо
есть же рх

Дмитрий
20.04.2018
21:40:00
Выглядит и ощущается примерно как действия ркн

Dmitry
20.04.2018
21:40:07
а редукс на рх это 20 строк будут
Кстать, я так понимаю ты там анализировал много чего. В чем беда с cerebraljs ?

Google

Dmitry
20.04.2018
21:41:56
))

Alex
20.04.2018
21:45:17
ужас

Дмитрий
20.04.2018
21:45:17
Ну да
Он не ориентирован на модульность и вложенность

Alex
20.04.2018
21:46:47
у меня сложный компонент, в котором есть много разного, я хочу разбить его на несколько файлов поместить в папку имени этого компонента, и собрать его в index.ts норм идея?

Дмитрий
20.04.2018
21:46:47
Он как и все пробует решить проблему сверху вниз, забабахать стор и разбирать его

Roman
20.04.2018
21:46:57
шок-контент

Dmitry
20.04.2018
21:47:04

Дмитрий
20.04.2018
21:47:08
Разбирать всегда значительно сложнее чем собирать в обратном порядке

Dmitry
20.04.2018
21:47:32
боже как сочувствую кому-то у кого это есть в проекте

Дмитрий
20.04.2018
21:49:06

Alex
20.04.2018
21:49:34
я хочу LecturerForm разбить в папку

Дмитрий
20.04.2018
21:50:01
Когда у тебя части стора лежат рядом с данными которые их используют, проблемы например селекторов уже невозможно себе представить)

Dmitry
20.04.2018
21:50:18

Alex
20.04.2018
21:50:34
что именно

Dmitry
20.04.2018
21:50:40
нейминг
мне кажется неудачный

Alex
20.04.2018
21:51:05
индекс будет экспортить LecturerForm и всё что с ним приходит

Google

Dmitry
20.04.2018
21:51:58
у тебя LecturerForm.tsx/LecturerFrom папка / LecturerFormClass.tstc
может можно как-то это понятней назвать
и еще есть
Lecturer.tsx
Lecturers.tsx

Alex
20.04.2018
21:52:33

Dmitry
20.04.2018
21:52:41
Может как-то
SigleView
ListView
CreateForm
зачем дублировать слово лекчурерс постоянно

Alex
20.04.2018
21:54:29
потому что рядом с /Lecturers/
будет /Faculties/ и когда я их оба импортирую в другом компоненте мне всё равно придётся назвать LecturerForm и FacultyForm, Lecturer, Faculty и тд

Dmitry
20.04.2018
21:55:33
export * as Lecturers from ‘./Lecturerers’;
как вариант

Alex
20.04.2018
21:56:29
зачем? если у меня будут компоненты LecturerForm и FacultyForm, какая разница с Lecturer.Form и Faculty.Form?

Dmitry
20.04.2018
21:57:00
Более понятный нейминг в скопе модуля
Ну точнее более простой

Alex
20.04.2018
21:58:18
чесно не вижу разницы между Lecturer.Form и Faculty.Form заведомо зная что буду использовать их в общем компоненте

Dmitry
20.04.2018
21:59:03
ну вместо LecturerForm в папке лекчурера
можно будет написать просто Form

Google

Dmitry
20.04.2018
21:59:15
View
List

Alex
20.04.2018
21:59:19
он там не используется

Dmitry
20.04.2018
21:59:35
я про названия файлов

Alex
20.04.2018
22:00:01
ну я понял, но в итоге, при импорте будет имя Lecturer.Form и лучше оно собо не станет

Dmitry
20.04.2018
22:00:15
при импорте ниче не поменяется

Admin
ERROR: S client not available

Dmitry
20.04.2018
22:00:20
ну кроме точки

Alex
20.04.2018
22:01:16
всё равно файл лучше называть по его содержанию, а я хочу именно LecturerForm а не обобщённое название * as Lecturer, тем более это лишает возможности импортировать при тайпинге и добавляет конфликты

Dmitry
20.04.2018
22:02:11
LercturerFormSelectTabInput.jsx

Alex
20.04.2018
22:03:15
не) такого не будет

Dmitry
20.04.2018
22:03:44
LecturerFormInputClass.tsx

Alex
20.04.2018
22:05:02
это компонент, и его части, в нём нет других компонентов

Oleg
20.04.2018
22:06:52

Дмитрий
20.04.2018
22:09:50
Я не планирую сторы отдельных компонентов, это стор предметной области

Oleg
20.04.2018
22:13:26
ддд новая?)
Но ведь предметная область, и то, что (и как) будет отображать компоненты для конкретной фичи, это же могут быть разные вещи
соответственно данные из стора в компонент очень часто надо будет передавать в измененном виде

Дмитрий
20.04.2018
22:14:12
Одним словом, как обычно
Нужна нормальная имплементация методов map и combine и всё

Google

Dmitry
20.04.2018
22:15:40

Дмитрий
20.04.2018
22:15:45
Блядь
Вот поэтому и не хотел говорить
Забили


Max
20.04.2018
22:15:59
А что думаете насчет такого подхода?
для того чтобы редакс не знал о компонентах нужно просто хранить состояние в виде нормализированных сущностей. Любое приложения каким бы большим оно не было всегда можно разбить на конечное количество типов объектов и связей между ними (один ко многим или многие ко многим). В базе данных типам объектов соответствуют таблицы а в редаксе будут просто отдельные хеши где айдишники соответствуют объекту. Схема состояния примерно такая
state = {
users: {
0: {id: 0, name: "user0", folders: [0, 1] ...},
1: {id: 1, name: "user1", ...}
...
}
projects: {
0: {id: 0, name: "project0", user: 0, tasks: [0, 1] ... },
1: {id: 0, name: "project1", ... }
}
tasks: {
0: {id: 0, name: "task0", project: 0, ... },
1: {id: 0, name: "task0", ... }
}
}В этом примере мы описали бизнес-логику которая касается хранения данных - юзер может хранить (создавать, обновлять, удалять) проекты, а в проектах хранить задачи. Конкретную логику как создавать, кто может создавать обновлять или удалять и всякие нюансы можно вынести в редюсеры а можно в редюсерах оставить только базовую логику работы с этим состоянием а именно - создать, обновить, удалить а бизнес-логику вынести как раз в контейнеры потому что зачастую именно они вместе с ui определяют все эти нюансы. В итоге получится что редакс будет по сути служить роль базы данных (у него будет только три экшена - create, update, delete, где параметром передается имя таблицы и один или 3 редюсера которые просто создадут обновят или удалят запись в хеше айдишников-объектов) и никак не будет зависеть от компонентов или вообще от отображения - то есть это значит что описав один раз схему данных можно сильно по разному отобразить эту схему в ui (например отображать таски сразу под проектом или на отдельной странице и т.д)


Дмитрий
20.04.2018
22:16:36
Всё, не было никаких доменов, я понял

Dmitry
20.04.2018
22:16:44
((

Дмитрий
20.04.2018
22:17:20
Последнее чего мне бы сейчас хотелось — это выслушивать споры об античных терминах

Valeriy
20.04.2018
22:17:28
ппц... когда люди изобретают базу данных в вебе

Nutscracker
20.04.2018
22:17:33
сейчас redaction используется? я чет не вижу примеров свежих и видосов? читаю хабр статью старую 16го года - вообще муть. Сам по себе redux не до конца очевидный, а с этим сахаром вообще теряешь нить происходящего

Дмитрий
20.04.2018
22:17:39

Valeriy
20.04.2018
22:17:47
я вот понимаю еще поддержку этого говна на уровне браузера еще

Дмитрий
20.04.2018
22:17:49
Да, возникла потребность, да, нету

Valeriy
20.04.2018
22:17:54
но когда такое происходит на уровне хешей :))
просто лол

Дмитрий
20.04.2018
22:18:27