It works, the allowance function is called inside the useEffect and returns the correct value.
The method with side effects is failing, and I think web3 is correctly initialized in the wrapper component
const { web3, enableWeb3 } = useMoralis()
useEffect(enableWeb3, [enableWeb3])