IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> [快速上手RN] 5. React native 样式方案 使用tailwind css -> 正文阅读

[JavaScript知识库][快速上手RN] 5. React native 样式方案 使用tailwind css

系列教程

[快速上手RN] 0.React Native 快速启动项目
[快速上手RN] 1. React native 项目集成UI Kitten
[快速上手RN] 2. React native 项目色彩主题色编辑及使用
[快速上手RN] 3. React native 制作底部导航栏 Bottom Tab Bar
[快速上手RN] 4. React native 集成redux

1. 介绍

在开发React Native App的过程中,发现css写起来比较累,在使用styled-componet的情况下,需要编写维护大量的变量,实在不方便,于是想到tailwind.css,通过className的形式来完成样式的开发,实现方式可以说是行内样式+class选择器的结合。

效果如下
在这里插入图片描述

简单总结下使用tailwind的优点

  • 基于约束
    设计好的颜色、间距、排版、阴影,在他们的约束下避免放飞自我,可以在没ui的情况下开发,或者配合ui修改设计来开发
  • 细粒度
    每一个class都较为底层,可以更容易使用
  • 性能
    使用到的class最终才会编译,意味着最终的css文件是最小实现
  • 响应式
    支持响应式,只需要加对应的前缀,比如md:w-24表明中尺寸下的宽度为24px
  • hover/focus状态
    支持hover/focus状态,只需要加对应的前缀,比如hover:w-24表明鼠标经过时的宽度为24px
  • 可配置
    通过编辑tailwind.config.js文件来配置主题色以及扩展额外的样式

当然这次我们使用的是React native 那么就没办法直接这样使用,我们需要使用react native的库,并以对应的方式使用,接下来将介绍如何安装配置以及使用

2.安装tailwind CSS

2.1 在你的RN项目下一键安装

直接执行以下命令

$ npx setup-tailwind-rn

于是便安装完成了

2.2 手动安装

  1. 安装 tailwind-rn.
$ npm install tailwind-rn
  1. 安装 Tailwind 和 concurrently.
$ npm install --save-dev tailwindcss postcss concurrently
  1. 创建 Tailwind 配置和必要的文件
$ npx tailwindcss init
$ echo '@tailwind utilities;' > input.css

这些命令将创建以下文件:

  • tailwind.config.js - Tailwind 配置文件
  • input.css - 输入文件,用于覆盖默认的class

修改 tailwind.config.js:文件,加入以下代码

module.exports = {
+	corePlugins: require('tailwind-rn/unsupported-core-plugins')
};

并且需要在该文件内新增content,其中的数组元素,就是你要用到tailwind CSS的文件,为了能够监听到这些位置的文件中所用到的tailwind,并编译出对应的css代码,上面优点说到的性能部分,就是需要先进行该步配置,配置中用到的*号,是通配符,意为所有

module.exports = {
+	 content: ['./src/**/*.{js,jsx,ts,tsx}'],
};
  1. package.json中添加 一下脚本,因为我们开发时以及打包app时需要用到一下命令,为了方便
{
	"scripts": {
+		"build:tailwind": "tailwindcss --input input.css --output tailwind.css --no-autoprefixer && tailwind-rn",
+		"dev:tailwind": "concurrently \"tailwindcss --input input.css --output tailwind.css --no-autoprefixer --watch\" \"tailwind-rn --watch\""
	}
}

所以还是建议用一键安装,并参考手动安装的配置来配置你的tailwind,为了以后开发的便捷

3.使用方式

  1. 开发时先启动tailwind的开发模式(热更新)
$ npm run dev:tailwind

因为tailwind需要监听到你使用的class并实时编译出对应的css文件

  1. 修改App.js,使用Provider,其中MyComponent使用你的视图组件
import {TailwindProvider} from 'tailwind-rn';
import utilities from './tailwind.json';

const App = () => (
	<TailwindProvider utilities={utilities}>
		<MyComponent />
	</TailwindProvider>
);

export default App;
  1. 在你的React native项目中使用!
import {useTailwind} from 'tailwind-rn';

const MyComponent = () => {
	const tailwind = useTailwind();

	return <Text style={tailwind('text-blue-600')}>Hello world</Text>;
};
  1. 打包时需要先执行build
$ npm run build:tailwind

完成!如果遇到意外的问题或文章有完善的地方,请给我留言或评论谢谢~

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:04:44  更:2022-03-11 22:06:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:44:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码