Адаптивный дизайн в React - PullRequest
       12

Адаптивный дизайн в React

2 голосов
/ 31 октября 2019

Я ищу некоторые рекомендации о том, какие библиотеки, компоненты, подходы использовать при создании полностью отвечающего React-приложения сегодня?

Должен ли я основываться на перехватах или медиазапросах старой школы? Может быть, какое-нибудь лучшее решение где-нибудь там?

Ответы [ 3 ]

1 голос
/ 31 октября 2019

Взгляните на Antd или material-ui

или вы можете использовать обычный CSS и стилизовать ваши компоненты (мой любимый способ)

0 голосов
/ 31 октября 2019

Как и другие упоминавшиеся, существует довольно много пакетов для адаптивного дизайна - CSS-фреймворки, библиотеки компонентов React и т. Д. Также нетрудно создать свой собственный пакет, используя flexbox и / или grid.

Что касается React-centric , приближающегося к , то вот тот, который довольно эффективен. Предполагается, что вы используете SSR.

  1. Используйте Context API для создания компонента поставщика точек останова. Его задача - отслеживать текущую точку останова и прослушивать событие изменения размера для изменения состояния по мере необходимости. В конструкторе примите размер окна просмотра по умолчанию. Это можно заполнить на стороне сервера, используя сниффинг агента пользователя.

  2. Используйте Потребителя из контекста точки останова, чтобы отобразить текущий размер области просмотра. Это можно использовать для условной загрузки компонентов на основе области просмотра вместо их рендеринга, а затем скрытия их с помощью CSS с помощью медиазапросов. Таким образом, вы отправляете меньше CSS / HTML по проводам, тратя меньше времени на обработку JS и CSS, а для более крупных сайтов это может существенно снизить время загрузки. :)

0 голосов
/ 31 октября 2019

Я предлагаю использовать библиотеку компонентов, для самых последних компонентов библиотека отзывчивых компонентов, такая как rsuitejs или компоненты дизайна материалов, вполне подойдет.

Ссылки:

https://rsuitejs.com/en/ https://material -ui.com /

...