Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I had the same problem with time-traveling in react/redux. Everything has to be in the store for it to work, and since it's hard to make reusable components using the store, some things often end up outside. Then time-traveling becomes buggy. But since it's impossible with side-effects in elm, you can always trust it there. I use it pretty often to jump between states. The UI is not as good as redux-devtools and as feature-rich, though, that part I miss.


What about ajax requests though? What if you are debugging a component that sends a DELETE request?


It doesn't end up spamming requests the same way as in react, as there is no "componentDidMount" that can trigger side-effects. In elm it's just different states being rendered.


Ah sorry, I didn't mean side effects in lifecycle methods, I meant DOM events like click, etc. If you click a button that deletes a resource on your API, there is no time traveling because the outside world doesn't time travel along with your debugger (unfortunately). :)

You can isolate your side effects somewhere, but they still have to respond to actions/events/messages so if your time traveler dispatches actions you'll end up making duplicate requests.


I could be wrong, but I don't think Elm re-triggers side-effects when you go back in time. It just brings back the state as of that moment in time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: