in packages/rc-components/rc-search/src/useCssVar.ts [6:35]
export function useCssVar(cssVarName: string) {
const [v, setV] = useState('')
const refElement = ConfigProvider.useRefElement()
useLayoutEffect(() => {
check()
// @ts-ignore
const checkArr = (window['__recheck_css_var'] = window['__recheck_css_var'] ?? [])
while (checkArr[nextId]) {
// 如果一个页面下有份此组件库(即有多个nextId指针),需要避免冲突
nextId++
}
const id = nextId++
checkArr[id] = check
return () => {
delete checkArr[id]
}
function check() {
const val =
window.getComputedStyle?.(refElement).getPropertyValue(cssVarName) ??
''
setV(val)
}
}, [refElement, cssVarName])
return v;
}