I used Service worker in a demo to show how can we cache the shell of our app and stream content(which can be new everytime if you are a content based website) from server when using Reactjs. Also wrote a story about it.
Apart from making your app work offline Service Workers can also be used for