No. setInterval is the way to go.
A ServiceWorker is used to cache the contents of your application for offline use (The browser will download the site as it is defined in the serviceworker and you can use some functionality offline). However, you are not able to contact your server, since this needs internet access.
Here comes background-sync into the game. Let's imagine you have something like a chat application (web-based). You view the app the first time and in the background, all files are downloaded. After that, you are able to view the page offline and read messages which you already received. In the first place you cannot send messages, because that would need contact to the server. But with background-sync, you can schedule it for a send when the user is online the next time - so write your message only and hit send, it gets saved and will be pushed to the server the next time you connect to the internet.
I think you are accessing your server's data trough an API, and therefore neither the serviceworker, nor background-sync are used for these tasks.
Just send your server a request and update the data in the react app, as you do it right now using setInterval.