# Focus The `useFocus` hook responds to focus and blur events on its child. Focus events are dispatched for all input types, with the exception of `onFocusVisibleChange` which is only dispatched when focusing with a keyboard. Focus events do not propagate between `useFocus` event responders. ```js // Example const Button = (props) => { const [ isFocusVisible, setFocusVisible ] = useState(false); const focus = useFocus({ onBlur={props.onBlur} onFocus={props.onFocus} onFocusVisibleChange={setFocusVisible} }); return (