React (software): Difference between revisions

Content deleted Content added
Aveis (talk | contribs)
Removing mention of forms from the lead since it's not included in the article and it's not an actual omission from the library
Tags: Manual revert references removed
Aveis (talk | contribs)
Common idioms: Modify flux section to reflect that it's now in maintenance mode
Line 186:
React does not attempt to provide a complete "application library". It is designed specifically for building user interfaces<ref name="react" /> and therefore does not include many of the tools some developers might consider necessary to build an application. This allows the choice of whichever libraries the developer prefers to accomplish tasks such as performing network access or local data storage. Common patterns of usage have emerged as the library matures.
 
===Unidirectional data flow===
===Use of the Flux architecture===
To support React's concept of unidirectional data flow (which might be contrasted with [[AngularJS]]'s bidirectional flow), the Flux architecture representswas developed as an alternative to the popular [[model-view-controller]] architecture. Flux features ''actions'' which are sent through a central ''dispatcher'' to a ''store'', and changes to the store are propagated back to the view.<ref name="flux">{{cite web|url=https://facebook.github.io/flux/docs/in-depth-overview.html|title=In Depth OverView|publisher=Facebook|access-date=7 April 2018|website=Flux}}</ref> When used with React, this propagation is accomplished through component properties. Since its conception, Flux has been superseded by libraries such as [[Redux]] and MobX.<ref>{{cite web|title=Flux Release 4.0|url=https://github.com/facebook/flux/releases/tag/4.0.0|website=Github|access-date=26 February 2021}}</ref>
 
Flux can be considered a variant of the [[observer pattern]].<ref>{{cite web|last1=Johnson|first1=Nicholas|title=Introduction to Flux - React Exercise|url=http://nicholasjohnson.com/react/course/exercises/flux/|website=Nicholas Johnson|access-date=7 April 2018}}</ref>