Николай
Чуваки, насколько тупая идея делать лендинг на реакте?
Николай
Просто это не совсем статичный лендинг будет, там должны быть записи с отелями, по которым будет производиться поиск. И необходимо иметь админку для редактирования этих записей.
Николай
А из-за нелюбви к пыхе и всем cms на ней, проще уж самому сделать админку с сервером на go.
Николай
Ну и реакт соответственно, чтобы выводить все эти записи и производить поиск.
Николай
Насколько это нормальная практика?
Alexandr
ну если тебе так удобно, делай почему нет
Anonymous
Ребят, подскажите как CORS изменить в react ?
Anonymous
в npm
Cenator 🐈
artalar
в npm
Звучит, примерно, так: Как кордан заменить на весле? в бухте
Артём
Принято ли стилизовать стайлед-компоненты через пропс ? Например, маргин в самом компоненте по дефолту auto, а я при отрисовке передаю проп, который перебьёт дефолтное поведение.
Артём
не принято
а почему не принято? это ведь так по-компонентному: создаю один раз InfoMessage, и потом можно отрисовать любым цветом текста/отступами/рамкой, а дефотный вид будет без пропсов
Sergey
по компонентному: это определить API компонента, заранее создать некий набор отображений. и регулировать через пропсы <Button primary /> или создавать отдельные компоненты, которые переиспользуют дефолтные: <Button /> и <ButtonPrimary />
Артём
перепишешь компонент, во скольких местах сломается отображение?
ну а куда тогда отступы девать. нужно например в одном месте компоненту задать отступ сверху, а в другой части страницы — не нужно.
Sergey
они должны задаваться разметкой родительского компонента, например display grid но это вам в чат верстальщиков, там такое рассказывают; это основы
Артём
они должны задаваться разметкой родительского компонента, например display grid но это вам в чат верстальщиков, там такое рассказывают; это основы
но ведь в гридах нельзя управлять индивидуальным выравниванием грид-элемента из свойств грид-контейнера. все равно придется зашивать это в элемент
Sergey
что поучить?
верстку и обобщение. ну и причины по которым появился БЭМ
Артём
верстку и обобщение. ну и причины по которым появился БЭМ
хорошо, я пойду посмотрю 5-часовой вебинар АШТЕМЕЛЬ-академии, где мне скажут, что БЭМ появился из-за деградации кода, отсутствия модульности, проблем со специфичностью и трудностей с поддержкой
Артём
только как это ответит на мой вопрос, как мне управлять индивидуальным выравниванием компонента в сетке, я не понимаю.
Sergey
@mg901 мб ты сможешь нормально объяснить?
Sergey
свойства align-self у компонента-родителя, увы, нет
Как будто это единственный способ
Sergey
И других нет вообще
Sergey
Может реально пройти курс по вёрстке?
Sergey
А не делать говно в стиле: накидаю по месту стилей которые невозможно переносить и поддерживать
Sergey
И яро утверждать, что другого способа нет
Артём
Как будто это единственный способ
по верстке я знаю гораздо больше, чем Вам кажется
Sergey
В чат верстальщиков идите
Артём
я не утверждаю, а вопрошаю. и прошу, чтоб объяснили, как реализовать копроненты
Cyclone
Фолкс, помогите синхронизировать значение select'а и парметр в браузерном урле. С отправкой значения селекта в УРЛ всё получилось несложно: в useEffect (componentDidMount/DidUpdate) пишу history.pushState и беру значение селекта из state компонента. Трудность с синхронизацией в "обратную сторону" - когда жму браузерные кнопки назад/вперёд, состояние компонента должно обновляться. Подписался на popstate и в нём устанавливаю значение селекта в state компонента - и, казалось бы, всё хорошо, но в этот момент срабатывает componenDidUpdate и ещё раз пишет состояние в history. Код на скрине или paste: https://pastebin.com/WVCgpRNw
Cyclone
Выбираю в селекте 1, 2, 3, затем через браузерную навигацию хочу пройти в обратнуб сторону 3->2->1. Получается, когда жму Назад, в значение компонента пишется 2, срабатывает componentDidMount и снова делает history.pushState. Выглядит так: (открыл страницу) pushState: 1 (выбрал 2) pushState: 2 (выбрал 3) pushState: 3 (нажал Назад) handlePopState, history.state.a: 2 pushState: 2 (нажал Назад) handlePopState, history.state.a: 2 (нажал Назад) handlePopState, history.state.a: 1 pushState: 1
Cyclone
ну, понятно, что replace можно. Но я же хочу ходить туда-сюда.
Cyclone
Плюс понятно, что можно заниматься всякой дрянью вида "из handlePopState установить какой-нибудь skipPushState = true, и пушить history.state, только если skipPushState == false", но это же мерзость...
Cenator 🐈
Я как-то решал это, но объяснить вряд ли смогу
Maxim
Ты задал вопрос, я тебе ответил: не принято
не вижу смысла ему что то объяснять
Cenator 🐈
https://github.com/howtocards/frontend/blob/df94376bd7ffb67bce83a41174760a8d0089bdf7/src/features/search/search-bar.js#L75
Cenator 🐈
@ILyaCyclone
Cyclone
Спасибо... не очень понятно, конечно...
Павел
Парни, я не ошибаюсь , что react devtools с mobx-state-tree то что компонент перересовывается не всегда верно показывает?
Cyclone
https://codesandbox.io/s/zx8r8zjwwp
хм! А я думал, по replace нельзя ходить браузерной навигацией.
Cyclone
https://codesandbox.io/s/zx8r8zjwwp
А, то есть useEffect всё равно вызывается при браузерной навигации, но делает replace вметсо push?
Cyclone
Не мог бы пояснить callback?
Cyclone
Что именно?
Чем это отличается от обычного вызова pushState и setSelectValue в функции onSelectChange?
Dmitriy
делаешь два компонента
тыкаешь дизайнера в дизайн системы, что б больше не рисовал просто красиво
Cyclone
Я понял идею, спасибо. Но так, видимо, не сработает, если это значение может менять какой-нибудь другой компонент - придётся во всех местах pushState писать...
Cyclone
Например, если значение - номер страницы в асинхронной пагинации, а его можно задавать как кноками с номерами в пагинаторе, так и кнопками "prev page", "next page".
Дима
тыкаешь дизайнера в дизайн системы, что б больше не рисовал просто красиво
никто не обещал, что хороший дизайн будет укладываться в абстракции программистов
Dmitriy
никто не обещал, что хороший дизайн будет укладываться в абстракции программистов
Не соглашусь. Хороший дизайн это прежде всего хороший ui, ну только если это не сервис любителей сюрреализма. А уай где каждая кнопка имеет свой отступ это издевательство над мозгами юзера.
Winni
Sergey
дизайн-система на то и система, компоненты должны сочетаться друг с другом, как на уровне комбинаторики, так и на уровне UI
Sergey
Будет ли абстрактый дизайн укладываться в абстракции?
> абстрактный дизайн это ещё что за хуйня
Dmitriy
это прежде всего хороший ux :)
Это уже пост процесс
Nickie
Это дизайн от Пикассо :)
Артём
делаешь два компонента
контейнер, в нем компоненты-колонки/строки, а уже в них компоненты?
Looch
ребзи подскажите как заствить jest работать быстрее, тесты со снепшотами ну очень долгие
Дима
ребзи подскажите как заствить jest работать быстрее, тесты со снепшотами ну очень долгие
не снапшотить всё подряд, не писать компоненты со 100500 зависимостей
Looch
он тормознутый