You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/blog/2020-08-09-reactant-a-framework-for-building-react-web-applications.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ Reactant is a progressive framework. In the process of developing applications f
30
30
31
31
### Better Immutable State Management
32
32
33
-
React advocates immutable state type management, and Redux clearly fits this. But the fact is that simple mutation update operations like MobX are increasingly in line with current trends. Therefore Reactant provides a new immutable state management model based on Redux and Immer, which incorporates similar API elements of MobX. And more importantly, it still maintains the immutability of state.
33
+
React advocates immutable state type management, and Redux clearly fits this. But the fact is that simple mutation update operations like MobX are increasingly in line with current trends. Therefore Reactant provides a new immutable state management model based on Redux and [Mutative](https://github.com/unadlib/mutative), which incorporates similar API elements of MobX. And more importantly, it still maintains the immutability of state.
34
34
35
35
```ts
36
36
@injectable()
@@ -93,7 +93,7 @@ Reactant will do more features that improve the development experience.
93
93
94
94
### Benchmark Performance
95
95
96
-
In benchmark performance tests between Reactant and MobX+React, Reactant has the edge in startup time and derived computing, while MobX+React has the edge in value updates. And overall, the performance difference is not particularly significant. Because Reactant is based on Immer, Reactant also provides a performance-optimized solution when encountering a very few extreme performance bottlenecks.
96
+
In benchmark performance tests between Reactant and MobX+React, Reactant has the edge in startup time and derived computing, while MobX+React has the edge in value updates. And overall, the performance difference is not particularly significant. Because Reactant is based on [Mutative](https://github.com/unadlib/mutative), Reactant also provides a performance-optimized solution when encountering a very few extreme performance bottlenecks.
97
97
98
98
Reactant is committed to maintaining good performance while continuing to build a productive React framework.
Copy file name to clipboardExpand all lines: website/blog/2021-10-03-how-to-make-web-application-support-multiple-browser-windows/index.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -252,7 +252,7 @@ With that, we can quickly turn SharedWorker mode into SharedTab mode.
252
252
253
253
### Transport/Performance
254
254
255
-
Since the client app only renders and receives synchronized state. So the client app keeps running smoothly when the size of each dispatch update state does not exceed 50M. reactant uses [Immer patch](https://immerjs.github.io/immer/patches/) to update, usually this patch will be very small and reactant also does DEV checking for patch minimization updates. In fact, in most scenarios, the patch will not be that large.
255
+
Since the client app only renders and receives synchronized state. So the client app keeps running smoothly when the size of each dispatch update state does not exceed 50M. reactant uses [Mutative Patch](https://github.com/unadlib/mutative) to update, usually this patch will be very small and reactant also does DEV checking for patch minimization updates. In fact, in most scenarios, the patch will not be that large.
256
256
257
257
| Update state size | Volume of data | Deserialization |
@@ -388,7 +388,7 @@ But in terms of module model and shared model, reactant-share already provides a
388
388
389
389
reactant-share is a framework for building Shared Web Apps. But such a model is not free, and it will face performance issues with data transfer (The high maintenance cost of the SharedArrayBuffer has forced us to abandon it for now as well. In fact this is a problem caused by the fact that JS "multithreading" does not share memory efficiently).
390
390
391
-
Although Shared Web Apps lets the client App run in a render-only client thread, it introduces the additional overhead of synchronous state transfer. We must ensure that it is lightweight and efficient enough. While reactant-share does state patch based on Immer, it is always difficult to ensure that each patch is minimally updated.
391
+
Although Shared Web Apps lets the client App run in a render-only client thread, it introduces the additional overhead of synchronous state transfer. We must ensure that it is lightweight and efficient enough. While reactant-share does state patch based on [Mutative](https://github.com/unadlib/mutative), it is always difficult to ensure that each patch is minimally updated.
392
392
393
393
reactant-share provides a development option `enablePatchesChecker`. In development mode, it is enabled by default. Any mutation operation that is not a valid mutation will be alerted, usually eliminating the alert, and reactant-share will try to keep the update size as minimal as possible.
0 commit comments