Size: a a a

React — русскоговорящее сообщество

2021 April 23

ei

export default - зло... in React — русскоговорящее сообщество
Со стороны юзера:
Нормально подстраиваются под экран, отзывчивые
Нельзя скроллить страницу на фоне
Можно модалку, если не влезает
Фокус устанавливается в них и восстанавливается в исходное место после закрытия
Закрываются на клик снаружи / Esc
При Enter всегда подтверждающее действие запускается, или его аналог

Со стороны веб-обезьяны:
Не рендерятся в дереве, код рендера не срабатывает до открытия
Можно легко прикручивать анимации и они полностью выполняются
Колбеки на любые события
Удобное апи, нет лишних действий
Возможность либо навесить какой-то дефолтный дизайн (желательно чтобы было несколько вариантов под выбор), чтобы это все в бандл еще не шло
Либо сделать свой с нуля без ебли со всякими emotion
Я бы еще хотел чтобы был доступ к низкоуровневому апи, где например можно вызвать модалку из любого места, без рендера <Modal>, чтобы можно было написать оберток над этим и вызывать асинхронно в логике, получая промис

Может еще что-нибудь упустил)
источник

ei

export default - зло... in React — русскоговорящее сообщество
Чтобы с любыми устройствами еще работало, тач и все прочее
источник

CG

Cat Gn in React — русскоговорящее сообщество
Вот этот код без useEffect() не работает и значение всегда будет 'G':

const [defaultValue, setDefaultValue] = useState<string>('G');

 const setHintValue = (value: string) => {
   setDefaultValue(value);
 };
но если изменить 'G' на '', то будет работать
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Нельзя скроллить страницу на фоне - особенно на ios-е🌚
источник

ei

export default - зло... in React — русскоговорящее сообщество
Желательно чтобы анимации и стили предоставлялись как отдельные штуки, которые можно в большинстве случаев просто импортировать и вставить в метод инициализации либы
источник

ei

export default - зло... in React — русскоговорящее сообщество
Ну это исключение))
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
айос одно большое исключение🌚
источник

GO

Green Orange in React — русскоговорящее сообщество
Не рендерятся в дереве - почему это плохо?
Не рендерятся в дереве - через порталы?
источник

ei

export default - зло... in React — русскоговорящее сообщество
ну я нормальный человек, я сафари не юзаю на маке))
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
IOS шож такое
источник

ei

export default - зло... in React — русскоговорящее сообщество
Это не только от браузера зависит?)
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
не только
источник

ei

export default - зло... in React — русскоговорящее сообщество
Мне ток с сафари жаловались
источник

ei

export default - зло... in React — русскоговорящее сообщество
В смысле вообще пока не вызвал модалку - ее нет в dom
источник

M

Merry in React — русскоговорящее сообщество
ох...
источник

AS

Andrew Snesh in React — русскоговорящее сообщество
а что ты выводишь?
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Двумя стейтами делается
источник

ei

export default - зло... in React — русскоговорящее сообщество
Плохо потому что зачем лишнее в дереве? И еще в некоторых либах из-за этого код рендера срабатывает, и приходится страдать со всякими анимациями и прочим)
источник

ei

export default - зло... in React — русскоговорящее сообщество
А если не рендерится контент то это обертка которая висит в дереве по приколу
А если ее неправильно написали, она еще в сео может попасть по кайфу
источник

M

Merry in React — русскоговорящее сообщество
а есть какое-то адекватное решение этого?) а то я помню вроде бы просто на body навешивал класс с overflow: hidden
источник