Netflix Technology Blog
1 min readDec 5, 2019

--

  • store.subscribe(...) implements a Subscription pattern, it has the list of subscribers and loop through it calling the render for the UI components. selectWithSlipRepeats apply a transformation function to the state and compares it with the previous state. If nothing changes the render is not called.
  • render() is called from `UIComponent<T> : Subscriber<T>` and every single component extends this class.
  • We serialize the state using kotlinx.serialization and save it to disk as a blob.
  • The backstack is part of the state, it is serialized with the state serialization.
  • Yes, we restore the redux state and the components re-render themselves from the last serialized state.
  • For forms we could write another blog post, but a quick summary would be that every UI widget (editText, dropdowns) fire an Action to save a draft object in the state. When user taps submit we fire another Action that commits the draft.

By Juliano Moraes

--

--

Netflix Technology Blog
Netflix Technology Blog

Written by Netflix Technology Blog

Learn more about how Netflix designs, builds, and operates our systems and engineering organizations

No responses yet