File size: 703 Bytes
064bfd6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import React from 'react'
import { getDynamicConfig_BLOCKS_ON_INIT } from '../services/analytics/growthbook.js'
/**
* React hook for dynamic config values.
* Returns the default value initially, then updates when the config is fetched.
*/
export function useDynamicConfig<T>(configName: string, defaultValue: T): T {
const [configValue, setConfigValue] = React.useState<T>(defaultValue)
React.useEffect(() => {
if (process.env.NODE_ENV === 'test') {
// Prevents a test hang when using this hook in tests
return
}
void getDynamicConfig_BLOCKS_ON_INIT<T>(configName, defaultValue).then(
setConfigValue,
)
}, [configName, defaultValue])
return configValue
}
|