背景简介

vue的class处理很方便,React中className中JSX却没有去很好的处理class,之后便出来了react-auto-classnames 可以像vue一样去写class,这样就大大提高了开发的效率,随着preact中不断的广泛应用,便编写了preact插件来自动取处理className。即preact-auto-clsx

插件简介

preact-auto-clsx主要用来处理jsx中的className,不需要手动的引入,动态的取去处理,支持typescript。

使用安装

pnpm add -D preact-auto-clsxnpm  i -D preact-auto-clsx

vite中使用

//tsconfig.json"jsx": "react-jsx",
"jsxImportSource": "preact-auto-clsx"//vite.config.ts
plugins: [preact({babel:{babelrc: true,configFile: true,}})],//babel.config.cjsplugins: [["@babel/plugin-transform-react-jsx",{runtime: "automatic",importSource: "preact-auto-clsx",},],],

webpack中使用

ts-loader来处理

//tsconfig.json
{"compilerOptions": {"jsx": "react-jsx","jsxImportSource": "preact-auto-clsx",}
}//webpack.config.js
module: {rules: [{ test: /.tsx?$/, use: 'ts-loader' },],},

babel-loader 来处理

//tsconfig.json
{"compilerOptions": {"jsx": "react-jsx","jsxImportSource": "preact-auto-clsx",}
}//webpack.config.js
module: {rules: [{ test: /.tsx?$/, use: 'babel-loader' }]
}
//babel.config.cjs
plugins: [["@babel/plugin-transform-react-jsx",{runtime: "automatic",importSource: "preact-auto-clsx",}]
]

在项目中应用

<div className={['a',{b:true}]}></div>

项目地址

https://github.com/zsh-crazy/preact-auto-clsx.git
如果对你有帮助喜欢就star一下吧,帮忙转发,多多支持,谢谢

Preact 在TSX中优雅使用className相关推荐

  1. Spring BPP中优雅的创建动态代理Bean

    Spring BPP中优雅的创建动态代理Bean 一.前言 本文章所讲并没有基于Aspectj,而是直接通过Cglib以及ProxyFactoryBean去创建代理Bean.通过下面的例子,可以看出C ...

  2. 在tsx中引入less会提示模块找不到,但是可以运行

    在tsx中引入less或者 sass文件会提示模块找不到,但是可以运行,想必很多人都遇到过这个问题? 具体提示: 处理方案: (1)使用变量接收 const cls = require('./inde ...

  3. easyswoole数据库连接池_如何在 Swoole 中优雅的实现 MySQL 连接池

    如何在 Swoole 中优雅的实现 MySQL 连接池 一.为什么需要连接池 ? 数据库连接池指的是程序和数据库之间保持一定数量的连接不断开, 并且各个请求的连接可以相互复用, 减少重复连接数据库带来 ...

  4. 如何在MyBatis中优雅的使用枚举

    From: https://segmentfault.com/a/1190000010755321 问题 在编码过程中,经常会遇到用某个数值来表示某种状态.类型或者阶段的情况,比如有这样一个枚举: p ...

  5. python切面异常处理_Spring项目中优雅的异常处理

    Spring项目中优雅的异常处理 前言 如今的Java Web项目多是以 MVC 模式构建的,通常我们都是将 Service 层的异常统一的抛出,包括自定义异常和一些意外出现的异常,以便进行事务回滚, ...

  6. Laravel中优雅的验证日期需要大于今天

    我们有时会碰到一个场景,比如买车票,需要进行查询车票剩余,这时候需要一个日期范围,开始日期必须大于等于今天,结束日期必须大于等于开始日期. Version Laravel 5.5.40 PHP 7.1 ...

  7. 初学者必知的Python中优雅的用法

    初学者必知的Python中优雅的用法:http://python.jobbole.com/81393/

  8. 如何在vscode中优雅的编写C语言

    如何在vscode中优雅的编写C语言 各位好,我认为vscode编辑器在windows环境下除了Pycharm外是最方便的IDE了,但在初学C语言时很少有人的第一个C语言软件使用的是vscode来编译 ...

  9. Vue项目开发中优雅的切换服务端ip

    Vue项目开发中优雅的切换服务端ip 在进行Vue开发的时候,需要配置项目对应服务端的ip地址,但如果需要在多个服务端间进行切换,通常的做法是:手动修改vue.config.js配置文件中的服务端ip ...

  10. 60行Shell代码实现在命令行中优雅地听歌

    本文也发在了我的新个人博客上了,可以点击下面的链接获取更好的阅读体验: 60行Shell代码实现在命令行中优雅地听歌 0. 起因 起因就是对探索新歌失去了兴趣,并且觉得各种音乐播放软件都不怎么好用,而 ...

最新文章

  1. arm linux嵌入式网络控制系统,基于ARMLinux的嵌入式网络控制系统的研究与设计
  2. C# SVN检出的代码,F12显示从元数据
  3. ROS系统 实现客户端Client和服务端Server
  4. jsonschema中的$ref的循环引用导致json-editor栈溢出
  5. 高等学校计算机科学与技术教材:tcp/ip网络编程技术基础,TCP/IP网络编程技术基础...
  6. apache配置-html碎片shtml格式
  7. 【python教程入门学习】7个习惯提升python效率
  8. C/C++ 工具函数 —— 大端模式和小端模式的互换
  9. Spring时间(Date)类型转换+自定义
  10. python必背入门代码和入门基础知识,你知道吗
  11. java分布式开发流程,面试建议
  12. 2018年江苏高考数学填空题14的一般思路
  13. iPhone密码管理
  14. Android爬虫(一)使用OkHttp+Jsoup实现网络爬虫
  15. 【微信小程序】全局数据共享
  16. 学编程脚本 android,Auto.js安卓免root脚本开发教程
  17. 日期格式化使用 YYYY-MM-dd 的潜在问题
  18. Arduino ESP8266 RF433无线接收发射超再生模块实验
  19. Android-Mac电脑如何进行APK反编译
  20. 极竞而生 ChinaJoy 2021全球电竞大会圆满召开

热门文章

  1. Java 动手写爬虫: 一、实现一个最简单爬虫
  2. CCIE实验笔记之---第1章WAN协议(HDLC)
  3. 赏析角度有哪些_几种分析的角度
  4. Photoshop-为图像添加一个真实投影
  5. 恢复Cisco 2960交换机密码
  6. oracle 11客户端精简版,oracle_11g精简版客户端配置
  7. java8新特性之一:流式数据处理(包含list,map数据处理)。
  8. 移动端300ms延迟的由来及解决方案
  9. 设计模式---004策略模式(转载自我的老师 Alley-巷子)
  10. 关于高德地图标注的那些坑