我用配置文件构建顺风,并将其包含在react项目中。
我想在javascript/React中获取活动断点值。我怎么能做到同样的。?
<div class="block sm:hidden md:hidden lg:hidden xl:hidden">al</div>
<div class="hidden sm:block md:hidden lg:hidden xl:hidden">sm</div>
<div class="hidden sm:hidden md:block lg:hidden xl:hidden">md</div>
<div class="hidden sm:hidden md:hidden lg:block xl:hidden">lg</div>
<div class="hidden sm:hidden md:hidden lg:hidden xl:block">xl</div>
</div>
上面显示了活动断点。但是我如何在js中获得相同的内容而不包括任何上述标记。?
6条答案
按热度按时间bksxznpy1#
在tailwind文档中,您可以从
tailwindcss
节点模块导入配置:正如你在上面看到的,你可以通过引用
fullConfig.theme.screens.{breakpoint}
来获得断点。你应该可以使用javascript将其与当前屏幕宽度进行比较。在这里找到官方的顺风描述。
rm5edbpk2#
下面是我在
Typescript
中编写的代码,它根据设备宽度返回当前断点。您可以将其放置在独立文件中,并在任何文件中随时导入方法:**编辑:**在较新的Typescript版本中,您必须将这两个参数添加到
compilerOptions
下的tsconfig.json
中,以便能够导入js文件:另外,如果你在Angular上得到了
process
未定义的错误,你必须将这些行添加到polyfills.ts
文件的末尾(当然你必须安装process
包):c3frrgcw3#
这里有一个使用TypeScript 4的小钩子。5+。它基于
react-responsive
包中的useMediaQuery
钩子。随便修改!在你的组件内部,像这样使用它
axzmvihb4#
如果有人正在寻找一种不使用tailwind配置的方法,可以通过使用tailwind的断点系统来控制几个0x0 div的可见性,并测试这些div的可见性以确定当前活动的断点来实现这一点。
例如,您可以在身体中嵌入几个大小为0的div,如下所示:
然后,您可以编写一个函数来查找这些元素,并通过每个元素的offsetParent属性检查它们是否可见:
现在,您可以测试当前断点字符串以执行一些逻辑:
您需要确保Tailwind使用的任何断点都应用于文档中可以获得的某个0x0 div,并在getCurrentBreakpoint()函数中检查这些断点。但这可以完成工作,而不需要检查Tailwind的配置,并使用Tailwind的实际断点系统来确定哪个是当前活动的。
mf98qq945#
为了这个目的,我使用了这个和平的代码:
but5z9lq6#
我可以在React中这样解决这个问题:
在我的组件。jsx