You only need it for compiling. There are plenty of cross platform frameworks that dont require to develop with xcode - and that's good in my opinion.
I built all my apps this way and faced the same problem as OP - so had to buy a Mac mini. It was the cheapest option ~8 years ago and I still use it today for the same purpose - just for compiling. I assume there are probably more of us.
My needs are simple enough that the standard inclusions in expo.io work without complication. I could imagine more complex apps need a more involved dev setup but not in my case.
Expo.io is good enough for my needs. Cross platform, just run it on my iPhone and and android simulator. Also, the way expo works is that not all updates need to go through the App Store approvals. I can quickly dev/test/release once I have the app container approved by the relevant store.
My only need for a Mac with expo is for the upload. The apk file is taken care of with the command above.
I have an iPhone I use for development and testing. Bonus points is that expo is cross platform, so I can publish to google play with the same single code base too.
I’m always developing without xcode. Using expo I can write apps in react native on my desktop and vscode. Mac only required for the upload to the App Store.