Thankyou to everyone who offered their insights into my performance issues.
There were a few things to implement, and whilst I think there is room for continued improvement, the performance is alot better than what it was.
I'll list the improvements made below for anyone else who needs them:
Using queries to populate select menu/dropdown boxes
In these queries, I was using SELECT* in the SQL query, which was totally unnecessary. Stripping the fields back to SELECT title, uuid FROM resource cut out a lot of data which wasn't needed.
Paginating the results
When I first set up the app, there were some DB tables which only contained about 30 records. This was okay to display, however when uploading a csv of over 1000 records, the UI quickly had a heart attack.
Using the pagination component, I was able to pass in the page number to the SQL query which was responsible for populating the List View component with data.
I would say the pagination has had the biggest positive impact on the overall performance and the two things I outlined were relatively quick to identify with the help of the community and implement and would encourage anyone else who has similar performance issues to my own to attack these two things first.