# extendify/0.6.0/src/hooks/useTestGroup.js

Extendify, version 0.6.0. 23 lines.

- Page: https://pluginprobe.com/plugins/extendify/0.6.0/code/src/hooks/useTestGroup.js
- Raw: https://pluginprobe.com/plugins/extendify/0.6.0/raw/src/hooks/useTestGroup.js
- Modified: 2022-03-08T21:25:40+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/0.6.0/code/src/hooks/useTestGroup.js#L10-L20`.

```javascript
import { useState, useLayoutEffect } from '@wordpress/element'
import { useGlobalStore } from '@extendify/state/GlobalState'
import { useUserStore as user } from '@extendify/state/User'

export const useTestGroup = (key, options, override) => {
    const [group, setGroup] = useState()
    const ready = useGlobalStore((state) => state.ready)

    useLayoutEffect(() => {
        if (
            override ||
            (ready && !group) ||
            // Let the devbuild reset this
            window.extendifyData._canRehydrate
        ) {
            const testGroup = user.getState().testGroup(key, options)
            setGroup(testGroup)
        }
    }, [key, options, group, ready, override])

    return group
}

```
