Note: Since the OP hasn't specified whether she is talking about React Native or not, I assume she is referring to hybrid app development since she mentioned iPhone/Android app.
I am currently making a hybrid application using Apache Cordova + Reactjs + Twitter Bootstrap.
Apache cordova enables wrapping up of HTML, CSS and JavaScript code depending on the platform of the device.
Reactjs is used for creating user interfaces for large applications in which data changes over time. It scales brilliantly because of its virtual DOM.
Twitter Bootstrap is used for styling purposes.
You should go through the Apache cordova documentation in detail first, where you will find out how can you save/cache the state using localStorage or other options.
Offline applications with React are extremely efficient and work very fast.
Cordova offers an event called online which you can use to check if the app is currently connected to the internet or not.
Short answer: Yes, it's definitely possible what you want.