useBreakpoints

Tags:

一个 React 钩子(Hook),提供了一个简单的 API,用于与视口断点进行交互。

演示

调整窗口大小以检查。

源码
Match 'md':
false
IsGreaterOrEqual('lg'):
false
IsInBetween('md', 'xl') :
false
Max matched:
undefined
Currents matched:
[]

用法

请查看 API。

源码

点击下方链接跳转 GitHub 查看源代码。

API

const bps = useBreakpoints(breakpoints, options)

断点 Breakpoints

/** * 一个包含不同断点的对象 */ export type Breakpoints<K extends string = string> = Record<K, number | string>

选项 Options

export interface UseBreakpointsOptions { /** * 用于生成快捷方法(如 `.lg`)的查询策略 * * 'min-width' - 当视口大于或等于 lg 断点时,`.lg` 将为 true (移动端优先) * 'max-width' - 当视口小于 xl 断点时,`.lg` 将为 true (桌面端优先) * * @defaultValue "min-width" */ strategy?: 'min-width' | 'max-width' }

返回值

export type UseBreakpointsReturns<K extends string> = Record<K, boolean> & { /** * 当前断点状态 */ breakpoints: Record<K, boolean> /** * 检查视口是否大于给定断点 * * @param {K} k - `K`,断点键 * @returns {boolean} `boolean`,视口是否大于给定断点 */ isGreater: (k: K) => boolean /** * 检查视口是否大于或等于给定断点 * * @param {K} k - `K`,断点键 * @returns {boolean} `boolean`,视口是否大于或等于给定断点 */ isGreaterOrEqual: (k: K) => boolean /** * 检查视口是否小于给定断点 * * @param {K} k - `K`,断点键 * @returns {boolean} `boolean`,视口是否小于给定断点 */ isSmaller: (k: K) => boolean /** * 检查视口是否小于或等于给定断点 * * @param {K} k - `K`,断点键 * @returns {boolean} `boolean`,视口是否小于或等于给定断点 */ isSmallerOrEqual: (k: K) => boolean /** * 检查视口是否处于给定的两个断点之间 * * @param {K} a - `K`,断点键 * @param {K} b - `K`,断点键 * @returns {boolean} `boolean`,视口是否处于两个断点之间 */ isInBetween: (a: K, b: K) => boolean /** * 当前匹配的断点 */ currents: K[] }