首页 >web前端 >css教程 >如何使用模板文字在 React 中动态应用 Tailwind CSS 类?

如何使用模板文字在 React 中动态应用 Tailwind CSS 类?

DDD
DDD原创
2024-12-05 17:56:111009浏览

How Can I Dynamically Apply Tailwind CSS Classes in React Using Template Literals?

在 Tailwind CSS 中应用带有模板文字的动态 CSS 类

尝试动态更改 Tailwind CSS 中的 CSS 类时可能会遇到困难。例如,如果您尝试使用以下代码:

const [click, setClick] = useState(false);

const closeNav = () => {
  setClick(!click);
};

const openNav = () => {
  setClick(!click);
};

<div
  className=" absolute inset-0 ${click ? translate-x-0 : -translate-x-full } 
        transform  z-400 h-screen w-1/4 bg-blue-300 "
>
  <XIcon onClick={closeNav} className=" absolute h-8 w-8 right-0 " />
</div>;

此代码将无法有效执行。要解决此问题,请进行以下更改:

<div className={`absolute inset-0 ${click ? 'translate-x-0' : '-translate-x-full'} transform z-400 h-screen w-1/4 bg-blue-300`}></div>

// Alternatively (without template literals):
<div className={'absolute inset-0 ' + (click ? 'translate-x-0' : '-translate-x-full') + ' transform z-400 h-screen w-1/4 bg-blue-300'}></div>

至关重要的是,在构建类名称时避免使用字符串连接,如下所示:

<div className={`text-${error ? 'red' : 'green'}-600`}></div>

相反,选择选择完整的类名称:

<div className={`${error ? 'text-red-600' : 'text-green-600'}`}></div>

// Following is also valid if you don't need to concatenate the class names
<div className={error ? 'text-red-600' : 'text-green-600'}></div>

Tailwind 将避免从生产版本中删除完整的类名称(如果它们包含在

此外,您还可以访问各种选项,包括类名或 clsx 等库,以及 twin.macro、twind 和 xwind 等 Tailwind 特定解决方案。

进一步正在阅读

  • 【React.js 条件应用类名称](https://github.com/facebook/react/issues/2316)
  • [如何动态添加类到手动类名?](https://stackoverflow.com/questions/37585255 /how-to-dynamically-add-a-class-to-manual-class-names)
  • [处理条件样式的正确方法React](https://dev.to/furkancakmak/conditional-css-class-names-in-react-the-right-way-iwk)
  • [在 JSX 中嵌入表达式](https:// Reactjs.org/docs/jsx-in-depth.html#embedding-expressions-in-jsx)
  • [模板文字 - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
  • [优化生产 - 编写可清除的 HTML - Tailwind CSS](https:// tailwindcss.com/docs/optimizing-for-Production#writing-purgeable-html)

以上是如何使用模板文字在 React 中动态应用 Tailwind CSS 类?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn