在 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 中动态应用 Tailwind CSS 类?的详细内容。更多信息请关注PHP中文网其他相关文章!