Дима
И это хорошо))
Serhii
ибо сложная верстка сложного компонента разрастется в простыню кода
Serhii
как то совсем не хорошо нажимать на перфекционизм так как на него с такими темпами забьешь
λ
Serhii
самый трушный вариант - разделять хтмл от жс
Serhii
потому что мешать одно с другим это подход жквери плагинов
Serhii
с чего и наследовались компоненты как идея
Дима
Отделить чистый html можно наверное только в лендингах
Serhii
я не знаю на счет чего холивар но я против jsx
λ
Fp?
Serhii
функциональное програм.
λ
И какое оно имеет отношение к вебу? 😕
Serhii
я тоже не понимаю как парадигма влияет на результат
Дима
На подход
Дима
Реактовские компоненты с рекомендуемым подходом новых версий - это чистые функции, например)
Serhii
как "чистота" функций влияет на результат?
Serhii
никак
Serhii
это влияет только на количество шагов дебага
Serhii
ну не будет у тебя переменная мутировать изза ивентов
Serhii
взял лодаш, включил чейн, и делаешь себе "фп"
Lupsik Pupsik
Serhii
я писал пару хеловордов на реакте
Serhii
но невозможность отделить большую верстку от компонентов напрягало
Serhii
особенно когда еще 20 екшенов нужно с редукса вызывать
Serhii
контроллер то сам плоский, но количество хендлеров === количетству методов которые тригают екшены
Serhii
это никак не обойти так как будет возможность добавить что то от себя в контроллере
Serhii
потому и получалось 2 простыни - jsx и методы контроллера
Lupsik Pupsik
Lupsik Pupsik
если у тебя большая верстка, то ты делаешь что-то не так
Serhii
не дроблю инпуты на отдельные компоненты
Serhii
это что то не так?
Lupsik Pupsik
надо дробить на логически-конечные части
Serhii
выходит чтобы вынести типы инпутов (например малти селект и обычный селект) нужно писать отдельные компоненты
Serhii
чтобы их не писатьтруками - нужно итерироваться по списку филдов
Lupsik Pupsik
нет
Serhii
чтобы определять тип - нужно на беке передавать тип чтобы отпределить какой компонент рисовать
Serhii
но это уже либо писать мапинг на поля формы например и к каждему названию определять тип поля
Lupsik Pupsik
Serhii
выходит легче статически написать простыню в хтмл
Lupsik Pupsik
если у тебя мультиселект, то к селекту добавляется аттрибут
Serhii
я о том что если дробить инпуты - нужно каким то образом автоматизировать отрисовку определенных
Serhii
вот
Serhii
а кто скажет что это малти селект?
Lupsik Pupsik
<selectComponent items={items} />
Serhii
либо я в том же хтмл
Lupsik Pupsik
<selectComponent items={items} multi />
Serhii
что никак не уменшает хтмл
Serhii
либо автоматом в итераторе проверять пропертю филда и добавлять атрибут
Lupsik Pupsik
что я читаю бля
Lupsik Pupsik
<div className="zalupa">
<select {...this.props}>
{items.map((v) => <option value={v.id}>{v.title}></option>)}
</select>
</div>
Lupsik Pupsik
ты 5 строчек можешь скомпоновать в одну
Lupsik Pupsik
<selectComponent items={items} name="selectName" />
Serhii
это не уменьшит критически хтмл, так как селекты всеравно будут обвернуты в теги которые будут их позиционировать
Lupsik Pupsik
вместо 5 строчек у тебя 1
Lupsik Pupsik
в пять раз уменьшило
Serhii
так а если форма на 50 полей + 5 строчек для позиционирования для каждего
Lupsik Pupsik
<selectComponent items={items} name="selectName" className="selectPositionClass" />
Serhii
обычно позиционировать только с помоцью класа сложно
Lupsik Pupsik
если ты про сетку
Serhii
легче обвернуть еще во что либо
Lupsik Pupsik
то ну ок сеткой размечаешь
Lupsik Pupsik
а логических частей у тебя не остается
Serhii
тоесть ил 500 строк остается 250
Lupsik Pupsik
часто у тебя формы на 500 строк?
Serhii
я бы принял такое если бы jsx можно было вынести в файл
Serhii
да, есть темплейты на 500 строк кода
Lupsik Pupsik
можно братан
Lupsik Pupsik
называется компоненты
Serhii
но так как у меня не жсх я смог их разбить на отдельные файлы
Lupsik Pupsik
ну так ты сам кактус ел
Lupsik Pupsik
в 2016 не юзать es6 лол
Lupsik Pupsik
зато потом буду говорить в чяте что jsx неудобный
Lupsik Pupsik
а оказывается просто неправильно готовил
Serhii
ес6 к jsx?
Serhii
што?
Lupsik Pupsik
щас ты как решаешь задачу с формой в 500 строк?
Serhii
импортирую вебпаком отдельные темплейты
Lupsik Pupsik
Lupsik Pupsik
вебпак да