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
[React-MVx](https://volicon.github.io/React-MVx/) is an MVVM application frameworks which uses Type-R to manage a multi-layer application state.
4
+
5
+
- React-MVx adds [two-way data binding](https://volicon.github.io/React-MVx/#link) capabilities to both Record and Collection. Data-binding is based on the ["value link" pattern](https://medium.com/@gaperton/managing-state-and-forms-with-react-part-1-12eacb647112) and implemented with Link class from [NestedLink](https://github.com/Volicon/NestedLink) library taking the value and validation error directly from the Record.
6
+
-[Record](https://volicon.github.io/Type-R/#record) class is used to manage [component's state](https://volicon.github.io/React-MVx/#state).
7
+
- The subset of the [Record attributes type annotation](https://volicon.github.io/Type-R/#definition) is used to define component [props](https://volicon.github.io/React-MVx/#props) and [context](https://volicon.github.io/React-MVx/#context).
8
+
-[Store](https://volicon.github.io/Type-R/#store) class is used to represent [component's store](https://volicon.github.io/React-MVx/#store) (also called "local store"), which is typically used in the root component of SPA page associated with a route. The state of the children components uses upper component's stores to resolve id-references.
9
+
- Type-R [global store](https://volicon.github.io/Type-R/#-static-store-global) may be used as a store for the data shared by application pages. This store is used to resolve id-references in case if local stores lookup failed.
10
+
11
+
<asideclass="warning">
12
+
The meaning of the Store in Type-R and React-Mvx is very different to that in other frameworks. The sole reason you need the store is to have collections of records which are being used to resolve id-references. If you don't have <ahref="https://volicon.github.io/Type-R/#id-references">id-references</a> in JSON, you don't need stores. Use state instead.
<p>Make the cloned object to preserve the reference to its original store.</p>
1422
1422
<p>Cloned objects don't have an owner by default, thus they loose the reference to their store as no ownership chain can be traversed. <code>pinStore</code> option should be used in such a cases.</p>
1423
-
<h1id="class-definitions-and-mixins">Class definitions and mixins</h1>
1423
+
<h1id="reactjs-bindings">ReactJS bindings</h1>
1424
+
<p><ahref="https://volicon.github.io/React-MVx/">React-MVx</a> is an MVVM application frameworks which uses Type-R to manage a multi-layer application state.</p>
1425
+
<ul>
1426
+
<li>React-MVx adds <ahref="https://volicon.github.io/React-MVx/#link">two-way data binding</a> capabilities to both Record and Collection. Data-binding is based on the <ahref="https://medium.com/@gaperton/managing-state-and-forms-with-react-part-1-12eacb647112">"value link" pattern</a> and implemented with Link class from <ahref="https://github.com/Volicon/NestedLink">NestedLink</a> library taking the value and validation error directly from the Record.</li>
1427
+
<li><ahref="https://volicon.github.io/Type-R/#record">Record</a> class is used to manage <ahref="https://volicon.github.io/React-MVx/#state">component's state</a>.</li>
1428
+
<li>The subset of the <ahref="https://volicon.github.io/Type-R/#definition">Record attributes type annotation</a> is used to define component <ahref="https://volicon.github.io/React-MVx/#props">props</a> and <ahref="https://volicon.github.io/React-MVx/#context">context</a>.</li>
1429
+
<li><ahref="https://volicon.github.io/Type-R/#store">Store</a> class is used to represent <ahref="https://volicon.github.io/React-MVx/#store">component's store</a> (also called "local store"), which is typically used in the root component of SPA page associated with a route. The state of the children components uses upper component's stores to resolve id-references.</li>
1430
+
<li>Type-R <ahref="https://volicon.github.io/Type-R/#-static-store-global">global store</a> may be used as a store for the data shared by application pages. This store is used to resolve id-references in case if local stores lookup failed.</li>
1431
+
</ul>
1432
+
<asideclass="warning">
1433
+
The meaning of the Store in Type-R and React-Mvx is very different to that in other frameworks. The sole reason you need the store is to have collections of records which are being used to resolve id-references. If you don't have <ahref="https://volicon.github.io/Type-R/#id-references">id-references</a> in JSON, you don't need stores. Use state instead.
1434
+
</aside><h1id="class-definitions-and-mixins">Class definitions and mixins</h1>
1424
1435
<h2id="class-definitions">Class Definitions</h2>
1425
1436
<p>Type-R mechanic is based on class transformations at the moment of module load. These transformations are controlled by <em>definitions</em> in static class members.</p>
0 commit comments