To add insult to injury it's fairly easy to use hooks wrong - and used wrong they are, which suggests that their learning curve is not as friendly as proponents of this pattern would wish.
Example:
const renderItem = useCallback(() => <Item />, []);
And then: return renderItem();
What should have been used here is useMemo.