Valentin
однажды для имутабельности использовал https://mobx.js.org/refguide/create-transformer.html вроде без проблем. оч понравилось но я спец работаю с mobx в качестве стора
SENATOR ARMSTRONG
Ребят, подскажите пожалуйста норм либу с дропдауном мультиселектом чтоб не много весила, менее 8-10 кб
SENATOR ARMSTRONG
Или как можно самому без боли такое сделать
Mikhail
Или как можно самому без боли такое сделать
Сегодня парад таких вопросов))
Valentin
Ребят, подскажите пожалуйста норм либу с дропдауном мультиселектом чтоб не много весила, менее 8-10 кб
https://github.com/clauderic/react-sortable-hoc такое хочешь? у них оч классно сделано на хоках
Valentin
прям оч оч оч оч оч, мне понра. эх, так и не изучил кишки реализации T_T
Anonymous
Граждане, подскажите как открыть *.bin файл на маке
Anonymous
распаковать, смонтировать, открыть - что угодно, хочу посмотреть что внутри
Anton
Казалось бы, причем тут реакт...
artalar
я использую https://mobx.js.org/index.html никаких нет проблем, хоть массив, хоть мапа.
Потому что там все методы массива переопределены...
Dmitry
Ребят, а как заставить styled-components генерировать статичные классы? а не каждый раз рандомные
Dmitry
точно где-то видел, но не могу найти
SENATOR ARMSTRONG
https://github.com/clauderic/react-sortable-hoc такое хочешь? у них оч классно сделано на хоках
Спасибо, интересная библиотека, но мне нужен не драгндроп, а мультиселект дропдаун)
SENATOR ARMSTRONG
Сегодня сбилдил проект и с ужасом увидел 250кб после гзипа
SENATOR ARMSTRONG
Хотя вроде ничего такого, но по мелочи всё собралось во внушительный вес
ipos
не так чтобы много
SENATOR ARMSTRONG
Я видел рекомендацию не превышать 250кб
ipos
что за рекомендации такие? кто их дает?
SENATOR ARMSTRONG
Теперь меня преследует идея тупо всё самому реализовать, без либ типа реакт бутстрапа
SENATOR ARMSTRONG
что за рекомендации такие? кто их дает?
Да гуглил и часто пишут такое
ipos
Спасибо, интересная библиотека, но мне нужен не драгндроп, а мультиселект дропдаун)
react-select, но он прилично весит, есть еще react-autosuggest вроде так
Роман
Всем привет, подскажите, пожалуйста, столкнулся с такой проблемой. Использую Next.js + moment Во время рендера начинает прыгать время, сначала выводится серверное время, после уже время по часовому поясу И варнинг в чат летит: index.js:1 Warning: Text content did not match. Server: "18 июня 2018 г., 17:26" Client: "18 июня 2018 г., 11:26" Как сделать так, чтобы во время SSR бралось время не с сервера
ipos
Да гуглил и часто пишут такое
может имеется ввиду что бандл нужно разбивать на чанки и чтоб один чанк не превышал 250кб
ipos
хотя если это туду приложение, то да, многовато
SENATOR ARMSTRONG
может имеется ввиду что бандл нужно разбивать на чанки и чтоб один чанк не превышал 250кб
Эт я конечно не разбивал ещё приложение лейзи лоадингом. В реакте есть возможность загрузить один компонент который нужен сейчас для отображения, а остальные в фоновом режиме, а не при переходе по ссылке?
ipos
ну так вроде как lazy load + suspense
ipos
Забавно тут https://ru.reactjs.org/docs/code-splitting.html#named-exports пишут используйте export default чтоб работал tree shaking, а тут как-то писал кто-то, что всегда используйте обычный export
SENATOR ARMSTRONG
Забавно тут https://ru.reactjs.org/docs/code-splitting.html#named-exports пишут используйте export default чтоб работал tree shaking, а тут как-то писал кто-то, что всегда используйте обычный export
Насколько я помню, этот лейзи лоадинг работает когда нужно отрендерить этот лейзи компонент. Например есть страница с компонентом А, и вторая страница с компонентом Б, который загружается лейзи. Пользователь перешёл на страницу А и скачал бандл с компонентом А. Второй бандл он не скачал, так как рендерить компонен Б не нужно пока что. Когда пользователь перейдёт на вторую страницу он скачает бандл с Б и он отрендерится. Что я хочу сделать так это чтоб сначала скачался бандл с А при переходе на страницу А, но после того как бандл скачался, в фоне начал качаться бандл с Б, чтобы при переходе на вторую страницу не было задержки
SENATOR ARMSTRONG
Поправьте если я не прав насчёт механизма лейзи загрузки
Artem
Подскажите, пожалуйста, а как сделать проверку рекаптчи инвизибл (то есть она не всегда) на бэке? https://www.npmjs.com/package/react-google-invisible-recaptcha тут описано как сделать, но напрямую можно сделать запрос в обход проверки тогда
SENATOR ARMSTRONG
И ещё,я правильно понимаю, что неважно сколько компонентов я из реакт бутстрапа использую, в бандл идёт вся библиотека?
SENATOR ARMSTRONG
это уже не lazy, а eager loading лэйзи оно потому и лейзи ,что ленивое - само не грузится import('moduleB').then(...) в конструктор модуля А добавить можно попробовать.
Eager разве не всё сразу? То есть пользователь будет ждать пока вообще всё скачается и потом только будет рендерить
SENATOR ARMSTRONG
Это у меня какой-то лейзи eager)
Alexey
Это у меня какой-то лейзи eager)
"overeager" называется, вроде
SENATOR ARMSTRONG
google webpack stats, webpack stats visualizer
С cra пробовал source map explorer, не вышло
Alexey
С cra пробовал source map explorer, не вышло
выкинь cra и забудь настрой себе вебпак один раз нормально, как тебе удобно
artalar
Поддержка кастомного конфига не самое дешевое удовольствие. Поддержка и использование CRA намного дешевле
Alexey
за 5 минут коллеге объяснил, что там происходит в конфиге. поковырявшись ещё пол часа самостоятельно начал его редактировать вроде успешно Но если кря это удобно вам, пользуйтесь на здоровье
artalar
Пару недель рабочего времени потратил на переезд с устаревшего конфига на вполне небольшом проекте...
Kurzdor
Поэтому я пожалуй останусь с cra))
Поэтому обьясните мне как подружить yarn link с zsh на макоси И пойду пилить свой проект
Daniil
Поддержка кастомного конфига не самое дешевое удовольствие. Поддержка и использование CRA намного дешевле
Ну хуй знает, завели конфиг в начале проекта, за год аптейд был в основном: 1) Конфиг под сср 2) Всякие свистоперделки по оптимизации 3) Переезд на 4 вебпак В сумме на все это ушло ну максимум неделька, если не меньше.
Roman
Правильно ли обновлять данные в стейте (вызывать setState) в коллбэках эвентов мыши? Допустим, есть канвас, я с помощью курсора передвигаю его содержимое и с каждым вызовом коллбэка вызывается setState.
Sheldhur
нет, это же будет постоянный ререндер
Sheldhur
что ты не думаешь? что setState ререндер вызовет?
Sheldhur
он курсором двигает
Roman
Уточню, перерисовка содержимого канваса просходит не в render(), а в коллбэке requestAnimationFrame
Sheldhur
не важно чё ты там вызываешь, если ты делаешь setState это заставляет компонент сделать render
Sheldhur
если ты делаешь это при движении мыши, то у тебя будет вызвана хуева туча render
Roman
Я выше написал как я это делаю
Sheldhur
ref?
Nikolai
ref?
Ну проще уж с таким подходом выкинуть реакт и в канвас руками рисовать
Sheldhur
ну да
Sheldhur
а зачем его с реактом мешать? и постоянно ререндерить целиком канвас, если можно манипулировать его элементами?
Sheldhur
от этого теряется весь смысл канваса, вы еще 3d графику начните делать на реакте
Roman
Всем спасибо
Nikolai
а зачем его с реактом мешать? и постоянно ререндерить целиком канвас, если можно манипулировать его элементами?
Затем, чтобы декларативно описывать компонент. Например react-konva для этого есть
Sheldhur
достаточно ли декларативно он там работает с канвасом?
Nikolai
Для моих задач вполне достаточно
Sheldhur
ну так ты оберткой пользуешься, которая тебе эту декларативность обеспечила. А на прямую с канвасом работать декларативно, .... удачи братан
Nikolai
А то что вы советуете - преждевременно оптимизация. Пусть фичу реализует, а потом уже оптимизирует если это необходимо будет вообще
Sheldhur
ого, какие словосочитания знает)
Nikolai
О, все зверюшки-тролли в сборе смотрю)
Sheldhur
да, токсики
Nikolai
Так сразу уж любому человеку на любой вопрос в этом чате советуйте реакт выкинуть, потому что ререндер с ним дорогой по производительности в сравнении с нативом)
Артём
"А вы точно фронтендер?"
Sheldhur
если ты не хочешь признавать свою неправоту, то это не значит что тебя тролят, возможно ты действительно неправ. Реакт не надо выкидывать. Просто есть вещи для которых он не предназначен и пытаясь сделать всё через реакт ты пытаешься удалить гланды через жопу