SyncState

SyncState

  • Docs
  • FAQ
  • Github
  • Hire The Creators

›Introduction

Introduction

  • Getting started
  • Installation
  • Motivation
  • Core Concepts

Recipes

  • Recipes

Examples

  • Counter
  • Counter with Undo / Redo
  • Todo app
  • Multi User Counter
  • Multi User Todo
  • Multi User Todo With Undo/Redo

Plugins

  • History
  • Remote

API Reference

  • API Overview
  • createDocStore
  • Store
  • Provider
  • useDoc
  • useSyncState

Tips & Tricks

  • Common Pitfalls & Best Practices
  • Using SyncState without React
  • Performance Tuning

FAQ

  • FAQ's

Motivation

The idea of SyncState came out of a team that was building a multiplayer design tool using React. The team is a big fan of Redux, Recoil, MobX and MobX-State-Tree. Each one of them solve similar problems in their own ways. But, building realtime multi-user apps requires a bit more effort than storing and retrieving states.

Like:

  • Efficient re-rendering of the mounted components.
  • Data syncing between threads & sessions.
  • Conflict resolution between multiple sessions.
  • Local History (Undo / Redo) & Remote History (Versioning).
  • Standard replay-able actions over custom actions.
  • Optimistic updates and reversal when invalid.

SyncState solves these problems using JSON patches. Having used it successfully at GeekyAnts, we decided to create an open source library for this, which could also serve as a general purpose state management solution.

← InstallationCore Concepts →
Docs
Getting StartedExamplesPluginsAPI ReferenceFAQ
Community
TwitterStack OverflowDiscord
More
GitHub   Contribution Guidelines
Stars
Built with ❤️ at GeekyAnts.
Copyright © 2020 SyncState