Roman
setPopupState мб
тоже тупо - setPopupState(false) - это Boolean Trap https://ariya.io/2011/08/hall-of-api-shame-boolean-trap
Саша
Народ, помогите разобраться с созданием пакетов для npm, в которых есть реакт, который день бьюсь. Ругается на инвалидные хуки, хотя в самом модуле просто кнопка из material-ui. причем peer и devdependences настроены, могу скинуть архив с проектом
Anton
С записью выбранного значения в селекте разобрался. Сейчас вопрос встал с отображением значения селекта )) Помогите пжлст. Он почему-то выводит первое значение из вариантов (monday), а не scheduleDay.day. Что не так? scheduleDay.day точно другой - на скрине справа видно. <select name='scheduleDay' value={scheduleDay.day} onChange={e => onChangeDay(e)}> <option value='1'> Monday</option> <option value='2'> Tuesday</option> <option value='3'> Wednesday</option> ... </select>
artalar
тут часто спорят на эту тему
artalar
После прочтения статьи "Responsible JavaScript" я рефлексировал на тему того, что было бы здорово иметь такой источник информации, в котором бы детально разбирались типы рендеринга и то как они влияют на метрики производительности web-приложений. Сегодня увидел твит от Эдди Османи, в котором он поделился ссылкой на статью, посвящённой этой теме — "Rendering on the Web". В статье разбираются все виды рендеринга страниц: Server Rendering, SSR, SSR with Rehydration, CSR with Prerendering, Full CSR. Даётся оценка того, как они влияют на метрики приложения и даются советы, в каком случае лучше использовать тот или иной подход. Например, авторы статьи не рекомендуют использовать SSR с гидрированием, так как метрики производительности, собранные с реальных сайтов, использующих этот подход, говорят не в его пользу. Из статьи я впервые узнал про "Trisomorphic Rendering". Это такой подход, когда для рендеринга страниц используются сервис воркеры. Статья очень хорошая, с большим количеством полезной информации и ссылками на другие ресурсы. Must read, если интересуетесь темой производительности. #performance #web #rendering https://developers.google.com/web/updates/2019/02/rendering-on-the-web#top_of_page
Yuriy
Здраствуйте! Буду делать свой первый рабочий проект на Reac-е и мне нужно обеспечить норм SEO. Обязательно юзать для этого SSR или можно это решить без SSR? (Next.js какой-нибудь)
from
но да, рендерить лучше готовую разметку
Yuriy
gatsby бери)
Мне нужно сделать не оч сложный сайт с минимумом выводымой динамической инфы. Нужно будет ещё сделать админку для вывода портфолио. Брать для этого gatsby? Я как думал сделать: сверстать вначале на React-е и сделать бэкенд на node.js и заодно это все выучить.
Roman
opened setOpened
ну и setOpened(false) тоже не особо...
Roman
setIsPopupOpened
то же самое - оно вообще все попадает под Boolean trap
Roman
то есть формат setSomething(false) может означать что угодно) от "установи в false" до "не устанавливай"
Anton
Помогите пжлст понять, как сделать отображение значения в селекте (scheduleDay). Сейчас показывается просто первый вариант, хотя в стейте стоит другое значение. При этом при изменении селекта, он также не отображает изменение, хотя в стейте все меняется (вижу в консоли). Что не так? Вот стейт и его загрузка: const [formData, setFormData] = useState({ ... scheduleDay: {}, ... }); useEffect(() => { getUpdateSettings(); setFormData({... scheduleDay: !settings ? '' : settings.scheduleDay ... }, [loading, getUpdateSettings]); Вот onchange: const onChangeDay = (e) => { let selected = e.target.selectedOptions[0]; scheduleDay.day = selected.text; scheduleDay.index = e.target.value; setFormData({ ...formData, scheduleDay: scheduleDay }); }; Сам селект: <select name='scheduleDay' value={scheduleDay.day} onChange={e => onChangeDay(e)}> <option value='1'> Monday</option> <option value='2'> Tuesday</option> <option value='3'> Wednesday</option> ... </select>
Dmitriy
то же самое - оно вообще все попадает под Boolean trap
значит везде добавляй в конце state))
Vlad
то есть формат setSomething(false) может означать что угодно) от "установи в false" до "не устанавливай"
я считаю что название функции setIsPopupOpened нельзя по-другому интерпретировать: isPopupOpened - явно булевый флажок, у которого есть только два состояния, приставка set говорит об изменении этого самого состояния, для которого true будет говорить о том, что попап открыт приставка is говорит о булевости
Dmitriy
ну и setOpened(false) тоже не особо...
openedPopupState setPopupOpenedState
Roman
openedPopupState setPopupOpenedState
угу, но это слишком длинно 😄
Dmitriy
угу, но это слишком длинно 😄
в доках ios , вот там длинно ) а это норм)
Roman
пхаха ну да
Саша
Короче, по какой-то причине peerDependences не помогает от задваивания react, и помогает только сделать alias = (
Саша
Я все это пробовал )
Andrey
npm i -g react в репах npm link react
Саша
А, вот так не делал, спасибо
Саша
А так вообще норм делать?
Andrey
А так вообще норм делать?
ну для разработки пойдет а когда пакет поставишь чз нпм он возьмет реакт уже установленный, конфликтов не будет
Саша
Он будет в приватной репе
Andrey
Он будет в приватной репе
да без разницы, там реакт подтянется один на всех из нод модулей
Саша
Оке, попробую спасибо
invasion
Кто-нибудь реализовывал редактор маршрутов?
Frontend Priest
Кто-нибудь реализовывал редактор маршрутов?
Что это? Маршруты - роуты или маршруты на карте?
invasion
На карте
Frontend Priest
Чуть работал с яндексом. Какой апи, в чём проблема?
Саша
Эм, это как то связано с реактом?)
Frontend Priest
!спам
Frontend Priest
точно, я же не админ
Саша
Кто-нибудь реализовывал редактор маршрутов?
Это не для фанбокса ли случаем?)
invasion
Угу :D
invasion
Да взялся за тестовое, вот думаю с чего начать
Vasyl
Всем вечер добрый. Прикол такой, для body прописан свой цвет текста и шрифт, но почему-то он не применяется к button, как такое может быть? Если прописать эти же свойства для * то всё работает. Нигде к button новые шрифты и цветы не присваиваются.
Саша
Ну начни с выбора api, поищи готовые враперы для реакта
Vasyl
Ну мне нужен один шрифт на всей странице, я применил его к бади.
Vasyl
Извините что не в тот чат, не знаю просто где есть чат верстал (
invasion
https://t.me/css_ru
Vasyl
Спасибо.
Vasyl
Ну вот кстати добавил inherit - заработало, но почему сбивается то я не понимаю
Frontend Priest
Ну вот кстати добавил inherit - заработало, но почему сбивается то я не понимаю
У многих элементов есть дефолтные стили и appearance от браузера
Vasyl
понял, спасибо всем за помощь )
Stepan
Всем салют. А эфектор работает в реакте только фкнкциональными компанентами. С классами нет?
Саша
Там есть примеры работы с классами
Саша
Читайте доку
Dmitriy
сегодня пришлось макнуться в редакс, как теперь отмыться? до этого момента только хейт слышал...
Bogdan
Хз, у меня нету дикого отвращения к нему
Dmitriy
Юзать mobx?)
хрень редьки слаще ли?
Frontend Priest
Редакс работоспособен, если его качественно приготовить. Говорю именно "работоспособен", не "великолепен"
Dmitriy
Хз, у меня нету дикого отвращения к нему
да 100500 тыщ строк для простых манипуляций со стором
Dmitriy
а если асинхрон то капец
Alexander
хрень редьки слаще ли?
Коли так, то где же правильный инструмент?)
Bogdan
а если асинхрон то капец
Так санки и симбиот рили прикольная тема
Dmitriy
Саги
не нада вот это, меня сегодня зведочка в ночном кошмаре будет преследовать наверное)
Dmitriy
Ты аполо стейт уже пробовал юзать?
что конкретно имешь ввиду?
Bogdan
что конкретно имешь ввиду?
Ну где ты хранишь данные, которые не из запросов, контекст?
Dmitriy
если озвучить вслух бизнес задачу и посмотреть на код которой продуцирует редакс, то правда можно поверить в успех жиквери и for loops