First of all: great work!
But I don't understand how those two functions are supposed to work. Calling them in the render property like so
render={({ startPolling, stopPolling, isPolling }) => { if (this.state.view === 'results') { stopPolling(); } }}
leads to an TypeError:
TypeError: Cannot read property '_ismounted' of undefined
What I'd like to to is to stop polling for a certain state in the application and re-start it after another event occurs.