for example, if I wanted to establish a connection between my react app and snowflake and I wanted to do it all client side, would there be any issues?
This is a web app that won't be facing the public internet. To access it, you'd need to be a part of our vpn network.
there's this stackoverflow topic but the answer there is kind of ambivalent about whether I should be making API calls from the server or client so I thought I'd just go with client side but I'm wondering if the case is any different for establishing connections to a database.
for example, if I wanted to establish a connection between my react app and snowflake and I wanted to do it all client side, would there be any issues?
Yes, there would probably be issues. In order for your client to connect to your database, you will have to give the client the credential for your database, but NOTHING in the client is secure. This means that any user of your system can get access to your database credentials. You do not want that.
Instead, your server should be the intermediary to your database. The client sends your server a request and your server then mediates and decides what is and isn't allowed to be changed in the database or what can be fetched from the database.
The only way this could be practical is if your database has some read-only API where you can control what they have access to and you only provide the client with the credentials for that read-only API.