react-state-rxjs
  • Introduction
  • Main differences
  • Performance first
  • GETTING STARTED
    • Instalation
    • Examples
  • Core concepts
    • Main idea
      • More complex flow visualization
    • Configuration
    • Store
      • Operators
      • Optimistic updates plugin
      • Form manager plugin
        • ShouldUpdateState hook
        • Custom form elements
      • Persist state plugin
        • Configuring custom storage
    • Actions
      • Immer
      • ImutableJs
      • Async
    • Components with Actions
    • @InjectStore decorator
    • @ComponentState decorator
    • ComponentState Hook
    • Dispatcher
    • Router / History
  • DIFFERENT SCENARIOS
    • Passing list item index via router
  • UNIT TESTING
    • Setup
    • Test store
    • Test actions
    • Test component with actions
    • Test with Enzyme
  • Debugging
    • Setup
    • Redux DevTools
    • Automated changes output
    • Manual state changes check
    • Additional debugging information
  • Production
    • Production mode
  • Other information
    • Best practices
    • CLI
      • Custom Configurations
    • Performance
    • Blog Posts
    • Contributing
Powered by GitBook
On this page

Was this helpful?

  1. Core concepts
  2. Store

Operators

PreviousStoreNextOptimistic updates plugin

Last updated 6 years ago

Was this helpful?

Store has multiple operators:

  • Select - select peace of the state by provided path. Returns new observable. this.store.selecte(['todos'])

  • Initialize - initialize store with with new state. Returns observable holding initialized state. this.store.initialize(['todos', 'filter'], {newItem: false, usedItem: true})

  • Clear - resets whole state to initial state. this.store.clear()

  • Reset - resets selected peace of state to its initial state: this.store.select(['todos']).reset()

  • Map - transforms and returns state value.

  • Update - updates selected state.

this.store.update((state: Map<any, any>) => {
        // For ImmutableJs
        state.set('itemToStore', 'changed value');
        // For immer
        state.itemToStore = 'changed value'
});

According to immutableJS there is second parameter that can be passed to update function wrapToWithMutations It is used when you want to do multiple updates before triggering mutation.

https://stackoverflow.com/questions/28510753/when-should-i-use-withmutations-on-a-map-in-immutable-js