mobxjs/mobx-state-tree

Full-featured reactive state management without the boilerplate

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 45 minutes ago
Added to GitGenius on April 28th, 2023
Created on September 4th, 2016
Open Issues & Pull Requests: 102 (+0)
Number of forks: 638
Total Stargazers: 7,054 (+0)
Total Subscribers: 86 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 19.7 hours
Mean response time: 693.8 days
90th percentile: 2185.6 days
Tracked items: 63

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 82% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about an hour, while "level: intermediate" waits about 24 months. Only 3% of issues opened in the past year have been closed. Three people close 93% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 62
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,544 days
Stale 30+ days: 61
Stale 90+ days: 61

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 3
Events in 7 days: 6

Top labels

  • help/PR welcome (68)
  • bug (55)
  • enhancement (51)
  • Typescript (40)
  • question (36)
  • has PR (34)
  • level: easy (26)
  • needs reproduction/info (25)

Most active issues this week

Detailed Description

MobX-State-Tree is a state container system built on top of MobX that provides structure and common tooling for reactive state management. Written in TypeScript, it functions as a structured layer above MobX's functional reactive state engine, offering developers a way to build scalable applications without the boilerplate typically associated with Redux. The library is particularly valuable for large teams and applications expected to scale rapidly, delivering better performance and significantly less boilerplate code than Redux alternatives.

The repository emphasizes that MobX-State-Tree requires zero dependencies beyond MobX itself, making it lightweight while remaining feature-rich. It supports multiple stores, async actions and side effects, and enables extremely targeted re-renders for React applications. The library plays particularly well with TypeScript, React, and React Native, especially when paired with mobx-react-lite. Notably, users do not need to understand MobX in depth to effectively use MobX-State-Tree, as the library abstracts away much of that complexity.

It addresses concerns around complex state management, immutable data structures, and scalable application design, positioning itself as a comprehensive solution for application state modeling and UI framework integration.

This labeling pattern reflects the project's openness to community contributions and its focus on TypeScript compatibility.

This cross-project presence suggests the library's relevance to developers working on large-scale applications and development tools.

The official documentation is hosted at mobx-state-tree.js.org, with getting started tutorials and a free egghead.io course available for developers new to the library. The project acknowledges contributions from Michel Weststrate as creator, Infinite Red for ongoing maintenance support, Mendix for sponsorship, and influences from Redux's snapshot and transactional action patterns as well as tcomb's type system design. The library represents a mature, well-supported approach to state management that has gained adoption among companies worldwide seeking alternatives to Redux with reduced complexity and improved performance characteristics.