Николай
Чуваки, насколько тупая идея делать лендинг на реакте?
Philipp
Николай
Просто это не совсем статичный лендинг будет, там должны быть записи с отелями, по которым будет производиться поиск. И необходимо иметь админку для редактирования этих записей.
Николай
А из-за нелюбви к пыхе и всем cms на ней, проще уж самому сделать админку с сервером на go.
Николай
Ну и реакт соответственно, чтобы выводить все эти записи и производить поиск.
Николай
Насколько это нормальная практика?
Alexandr
ну если тебе так удобно, делай почему нет
Anonymous
Ребят, подскажите как CORS изменить в react ?
Anonymous
в npm
Cenator 🐈
Sergey
artalar
в npm
Звучит, примерно, так:
Как кордан заменить на весле?
в бухте
Артём
Принято ли стилизовать стайлед-компоненты через пропс ? Например, маргин в самом компоненте по дефолту auto, а я при отрисовке передаю проп, который перебьёт дефолтное поведение.
Sergey
Артём
не принято
а почему не принято? это ведь так по-компонентному: создаю один раз InfoMessage, и потом можно отрисовать любым цветом текста/отступами/рамкой, а дефотный вид будет без пропсов
Sergey
Sergey
по компонентному: это определить API компонента, заранее создать некий набор отображений. и регулировать через пропсы
<Button primary />
или создавать отдельные компоненты, которые переиспользуют дефолтные: <Button /> и <ButtonPrimary />
Egor
Sergey
Sergey
они должны задаваться разметкой родительского компонента, например display grid
но это вам в чат верстальщиков, там такое рассказывают; это основы
Sergey
Артём
Sergey
что поучить?
верстку и обобщение. ну и причины по которым появился БЭМ
Sergey
Артём
только как это ответит на мой вопрос, как мне управлять индивидуальным выравниванием компонента в сетке, я не понимаю.
Sergey
Sergey
@mg901 мб ты сможешь нормально объяснить?
Артём
Sergey
Sergey
И других нет вообще
Sergey
Может реально пройти курс по вёрстке?
Sergey
А не делать говно в стиле: накидаю по месту стилей которые невозможно переносить и поддерживать
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
Cenator 🐈
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 то что компонент перересовывается не всегда верно показывает?
Дима
Evoke
Sergey
Evoke
Cyclone
Не мог бы пояснить callback?
Evoke
Cyclone
Что именно?
Чем это отличается от обычного вызова pushState и setSelectValue в функции onSelectChange?
Evoke
Cyclone
Я понял идею, спасибо. Но так, видимо, не сработает, если это значение может менять какой-нибудь другой компонент - придётся во всех местах pushState писать...
Cyclone
Например, если значение - номер страницы в асинхронной пагинации, а его можно задавать как кноками с номерами в пагинаторе, так и кнопками "prev page", "next page".
Andrey
Winni
Sergey
дизайн-система на то и система, компоненты должны сочетаться друг с другом, как на уровне комбинаторики, так и на уровне UI
Sergey
Dmitriy
Nickie
Это дизайн от Пикассо :)
Looch
ребзи подскажите как заствить jest работать быстрее, тесты со снепшотами ну очень долгие
Sergey
Дима
Looch
Looch
он тормознутый