В этой серии статей я разрабатываю и кодирую различные общие компоненты пользовательского интерфейса с помощью React и ‹размещаю здесь решение CSS›.
Материальный дизайн был чрезвычайно популярен в течение многих лет, и одним из самых крутых эффектов, которые он представил, был эффект ряби, который обеспечивает привлекательную визуальную обратную связь для пользователя при нажатии / касании элемента.
Если вы не знаете, что такое эффект ряби - он выглядит примерно так:
В прошлый раз мы создали компонент ToggleSwitch, который использовал этот вид волнового эффекта, чтобы анимация переключения выглядела немного красивее. После этой статьи я столкнулся с многочисленными ситуациями, когда мне нужно было / хотелось использовать тот же эффект пульсации в каком-то другом компоненте, и поэтому я решил разделить эффект пульсации на его собственный компонент более высокого порядка, который можно легко использовать с любым стилем. компонент.
В последнее время я часто использую стилизованные компоненты, поэтому я использовал их для создания HOC для эффекта ряби. Итак, без лишних слов, вот код HOC:
Довольно просто, правда?
Честно говоря, я скопировал реализацию эффекта пульсации на чистом CSS из этого репозитория Github и просто обернул его в стилизованный div и использовал шаблон React HOC. Итак, вся заслуга в создании эффекта принадлежит первоначальным создателям 🙏
Хорошо, давайте посмотрим, как мы можем использовать этот HOC:
И когда мы визуализируем эти блоки и щелкаем по ним, это выглядит так:
Вот и все! Если вы используете стилизованные компоненты, вы можете легко улучшить любой обычный или стилизованный компонент React с помощью HOC withRipple и получить эффект без особых хлопот.
Не стесняйтесь использовать Суть, как хотите! 😎
Мы нанимаем!
Вы хотите создавать захватывающие и интересные приложения с использованием современных веб-технологий? Ознакомьтесь с нашими открытыми вакансиями и присоединяйтесь к нам в Taito United!
Не можете найти подходящие должности? Желаете приключений? Отправьте свое резюме и открытую заявку на адрес [email protected] - мы будем более чем рады услышать вас и увидеть, что вы готовите 🍳