Size: a a a

React — русскоговорящее сообщество

2020 July 16

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Dmitry Kazakov
не очень я все это понимаю, я в целом за глобальные сторы, храню в них данные, селекторы, действия, изменяющие данные. Вместо внутреннего стейта типа tooltipIsShown тоже по большей части использую глобальный. Но вот всяческие onClickOutside, onKeyDown, handleFormSubmit все равно оставляю внутри компонентов, так как они относятся ко внутренней схеме их работы. Если все вынести в глобал, он станет прегромаднейшим и работать с таким будет сложно
все что касается непосредственно вьюшки - остается во вьюшке. это понятно. но там нет ничего сверхестественного. например твой onClickOutside превращается в useOnClickOutside
источник

OT

Oruj Tatiyev in React — русскоговорящее сообщество
export default - зло is the side effect
А зачем такое может понадобиться?
в принципе со сворачиванием кода в текстовых редакторах позволяет держать много строк кода в одном файле
источник

DT

Daniil Tchernyavsky in React — русскоговорящее сообщество
Dmitry Kazakov
не очень я все это понимаю, я в целом за глобальные сторы, храню в них данные, селекторы, действия, изменяющие данные. Вместо внутреннего стейта типа tooltipIsShown тоже по большей части использую глобальный. Но вот всяческие onClickOutside, onKeyDown, handleFormSubmit все равно оставляю внутри компонентов, так как они относятся ко внутренней схеме их работы. Если все вынести в глобал, он станет прегромаднейшим и работать с таким будет сложно
Так ты же можешь свои хендлеры вынести в отдельный абстрактный файл, который в дальнейшем через эти хендлеры уже жанглируй данными как тебе угодно. Никто не заставляет все в кучу сваливать. Ведь ты же на компоненты разбиваешь, так и тут
источник

ES

Evgeny Sumaev in React — русскоговорящее сообщество
Dmitry Kazakov
каких файлов?
Видео,  PDF,
источник

ei

export default - зло... in React — русскоговорящее сообщество
Oruj Tatiyev
в принципе со сворачиванием кода в текстовых редакторах позволяет держать много строк кода в одном файле
При разделении на отдельные модули очень редко может возникнуть много строк в 1 файле
источник

Э

Эльдар in React — русскоговорящее сообщество
Kris
Ребята помогите пожалуйста с архитектурой проекта,
пока опыта мало с большими проектамию
Пока структура такая (на фото).
В Services хранить подключение к базе?
потом импортировать в главный index.js и перекинуть пропсами к нижним компонентам?
Желательно ли использовать Redux?
И еще вопрос допустим пустил проект в production  как потом сделать изменения, заново билдить?
Спасибо за ответы!
апи можно перебросить с помощью контекста, редакс конечно желателен, он облегчает разработку приложения
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Oruj Tatiyev
в принципе со сворачиванием кода в текстовых редакторах позволяет держать много строк кода в одном файле
дык ты не от сворачивания кода и размера должен отталкиваться от доменной зоны. если конкретный экшн относится к именно этому модулю, то зачем его куда то выносить
источник

DK

Dmitry Kazakov in React — русскоговорящее сообщество
Александр Бакиматов
все что касается непосредственно вьюшки - остается во вьюшке. это понятно. но там нет ничего сверхестественного. например твой onClickOutside превращается в useOnClickOutside
можно мне не объяснять, на хуках уже немало проектов написал) Получаются длинные цепочки из этих use, причем взаимосвязанных, так как одним нужны результаты других. Это в целом неудобно, какой механизм композиции бы ни использовался
источник

DT

Daniil Tchernyavsky in React — русскоговорящее сообщество
ну не будет юз, будут хоки
источник

DT

Daniil Tchernyavsky in React — русскоговорящее сообщество
это удобней?
источник

OT

Oruj Tatiyev in React — русскоговорящее сообщество
Александр Бакиматов
дык ты не от сворачивания кода и размера должен отталкиваться от доменной зоны. если конкретный экшн относится к именно этому модулю, то зачем его куда то выносить
да я насчет архитектуры проекта заморачиваюсь. где хранить thunk-экшены. если их я захочу например разделить на 5 файлов. или их держат в 1 файле? и называют actions.js
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Dmitry Kazakov
можно мне не объяснять, на хуках уже немало проектов написал) Получаются длинные цепочки из этих use, причем взаимосвязанных, так как одним нужны результаты других. Это в целом неудобно, какой механизм композиции бы ни использовался
ну короче субъективщина да?) а про порядок вызова мне не понятен довод. ты ж не ждешь от функций что результат вызова функции можно использовать раньше вызова этой функции. так почему здесь такая претензия?
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Oruj Tatiyev
да я насчет архитектуры проекта заморачиваюсь. где хранить thunk-экшены. если их я захочу например разделить на 5 файлов. или их держат в 1 файле? и называют actions.js
@risenforces кинь ему статью свою
источник

ei

export default - зло... in React — русскоговорящее сообщество
Oruj Tatiyev
да я насчет архитектуры проекта заморачиваюсь. где хранить thunk-экшены. если их я захочу например разделить на 5 файлов. или их держат в 1 файле? и называют actions.js
источник

ei

export default - зло... in React — русскоговорящее сообщество
На, там все базовые принципы как делить
источник

DK

Dmitry Kazakov in React — русскоговорящее сообщество
Александр Бакиматов
ну короче субъективщина да?) а про порядок вызова мне не понятен довод. ты ж не ждешь от функций что результат вызова функции можно использовать раньше вызова этой функции. так почему здесь такая претензия?
претензия к тому, что у хуков нет общей точки, как у классов есть this.context & this.props & доступ ко всем методам в каждом из методов. Неудобненько
источник

OT

Oruj Tatiyev in React — русскоговорящее сообщество
export default - зло is the side effect
На, там все базовые принципы как делить
короче у каждой модули своя директория
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Dmitry Kazakov
претензия к тому, что у хуков нет общей точки, как у классов есть this.context & this.props & доступ ко всем методам в каждом из методов. Неудобненько
А какой бы синтаксис в хуках в теории был бы удобен для этого с твоей точки зрения?
источник

DK

Dmitry Kazakov in React — русскоговорящее сообщество
Oruj Tatiyev
да я насчет архитектуры проекта заморачиваюсь. где хранить thunk-экшены. если их я захочу например разделить на 5 файлов. или их держат в 1 файле? и называют actions.js
лучше в разных файлах, разбитых по папкам, громадные файлы с десятками экшенов (или утилит) менее удобны
источник

DT

Daniil Tchernyavsky in React — русскоговорящее сообщество
А что ты через зис контекст делаешь?
источник