TailWind CSS для React Native
NativeWind - это библиотека пользовательского интерфейса, основанная на Tailwind CSS и специально разработанная для использования в приложениях React Native. С помощью NativeWind мы можем легко создавать и оформлять компоненты приложения, используя ряд предоставляемых компонентов стилизации.
Tailwind CSS - это CSS-фреймворк, ориентированный на утилиты, который позволяет нам разрабатывать пользовательские стили путем комбинирования предопределенных классов. Интегрируя Tailwind CSS с NativeWind, мы можем быстро и легко создавать и адаптировать пользовательские стили в приложениях React Native.
React Native не имеет встроенного CSS-движка, поэтому NativeWind необходимо преобразовать вывод CSS в объекты StyleSheet. NativeWind использует Tailwind для генерации CSS, который затем компилируется в объекты NativeWindStyleObjects. Эти объекты будут переданы в функцию NativeWindStyleSheet.create, которая действует как обертка для функции StyleSheet.create.
Используя NativeWind, мы можем применять стили, определенные Tailwind, к своим компонентам приложения, что приводит к созданию более чистого и удобного в обслуживании кода. Кроме того, мы можем использовать способность NativeWindStyleSheet кэшировать таблицу стилей, что позволяет повысить общую производительность приложений React Native.
<Text className="text-black" />; NativeWindStyleSheet.create({ "text-black": { color: "#000", }, });
NativeWindStyleSheet.create аналогичен StyleSheet.create, за исключением того, что NativeWindStyleSheet.create не нужно присваивать переменной, достаточно вызвать функцию, и стиль можно применить непосредственно к компоненту, вставив имя стиля в атрибут className.
NativeWind также предоставляет встроенные стили и блоки, которые можно использовать, такие как margins, padding и многие другие.
<Text className="text-[12px] text-black font-bold" />;
Но не все встроенные CSS Tailwind совместимы с NativeWind, поэтому вам нужно сначала убедиться в совместимости через сайт https://www.nativewind.dev/ .
Чтобы начать использовать NativeWind, добавьте пакеты nativewind и tailwindcss в проект, выполнив команду
//yarn yarn add nativewind yarn add --dev tailwindcss //npm npm install nativewind npm install --save-dev tailwindcss
Создайте файл tailwind.config.js в корне проекта и заполните его путями всех папок, содержащих компоненты ui
/** @type {import('tailwindcss').Config} */ module.exports = { content: [ './src/ui/module/**/*.{js,ts,jsx,tsx}', './src/ui/shared/**/*.{js,ts,jsx,tsx}', ], };
Мы будем использовать Babel для компиляции Tailwind CSS, чтобы мы могли использовать атрибут className для всех компонентов. Поэтому нам нужно добавить "nativewind/babel" в файл babel.config.js в корне проекта.
module.exports = { presets: ['module:metro-react-native-babel-preset'], plugins: ['nativewind/babel'], };
Чтобы избежать предупреждения от Typescript, создайте файл app.d.ts в корневом проекте и заполните его словами
/// <reference types="nativewind/types" />
Этот простой прием заключается в том, чтобы включить типы из NativeWind в наш проект TypeScript.
Теперь NativeWind готов к использованию в вашем проекте React Native.
Чтобы вызвать предложения по стилизации Tailwind CSS в VScode, вы можете использовать расширение Tailwind CSS IntelliSense, установите расширение, нажав Ctrl+p, и введите команду ниже в появившуюся текстовую область, не забудьте перезапустить VScode перед использованием.
ext install bradlc.vscode-tailwindcss
NativeWind - это библиотека пользовательского интерфейса на основе Tailwind CSS для React Native, которая может ускорить процесс создания стиля для компонентов React Native. NativeWind использует css из Tailwind для компиляции в StyleSheet.
DOT Indonesia - это быстрорастущая технологическая компания в области разработки веб-сайтов, мобильных устройств и блокчейна. Мы ищем высокомотивированных, независимых, умных и гибких людей, готовых оказать большое влияние на мир. Заинтересованы в том, чтобы присоединиться к нам? Заходите на сайт karir DOT Indonesia и найдите позицию, которая вам подходит. До встречи!
20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".
20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!
18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.
14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.