React (software): Difference between revisions

Content deleted Content added
Thunder491 (talk | contribs)
mNo edit summary
 
(7 intermediate revisions by 6 users not shown)
Line 33:
== Notable features ==
=== Declarative ===
React adheres to the [[declarative programming]] [[Programming paradigm|paradigm]].<ref>{{Cite web |date=2017-09-27 |title=React Introduction |url=https://www.geeksforgeeks.org/reactjs-introduction/ |access-date=2024-10-12 |website=GeeksforGeeks |language=en-US}}</ref> React adheres to the [[declarative programming]] [[Programming paradigm|paradigm]].{{sfn|Wieruch|2020}}{{rp|76}} Developers design views for each state of an application, and React updates and renders components when data changes. This is in contrast with [[imperative programming]].{{sfn|Schwarzmüller|2018}}
 
=== Components ===
Line 41:
 
=== Function components ===
Function components, announced at React Conf 2018, and available since React v16.8 and, are declared with a function that accepts a single "props" argument and returns JSX. Function components can use internal state with the <code>useState</code> Hook.
<ref name="introducing_hooks"/>
 
Line 204:
This pattern is sometimes expressed as "properties flow down, actions flow up". Many implementations of Flux have been created since its inception, perhaps the most well-known being [[Redux (JavaScript library)|Redux]], which features a single store, often called a [[single source of truth]].<ref>{{cite web|title=State Management Tools – Results|url=http://2016.stateofjs.com/2016/statemanagement/|website=The State of JavaScript|access-date=29 October 2021|archive-date=31 May 2022|archive-url=https://web.archive.org/web/20220531133609/http://2016.stateofjs.com/2016/statemanagement/|url-status=live}}</ref>
 
In February 2019, <code>useReducer</code> was introduced as a [[React (web framework)#React Hooks|React hook]] in the 16.8 release. It provides an API that is consistent with Redux, enabling developers to create Redux-like stores that are local to component states.<ref>{{Cite web |url=https://reactjs.org/blog/2019/02/06/react-v16.8.0.html#react-1 |title=React v16.8: The One with Hooks |access-date=2023-01-08 |archive-date=2023-01-08 |archive-url=https://web.archive.org/web/20230108090021/https://reactjs.org/blog/2019/02/06/react-v16.8.0.html#react-1 |url-status=live }}</ref>
 
== Future development ==
Project status can be tracked via the core team discussion forum.<ref>{{Cite web|title = Meeting Notes|url = https://discuss.reactjs.org/c/meeting-notes|website = React Discuss|access-date = 2015-12-13|archive-date = 2015-12-22|archive-url = https://web.archive.org/web/20151222141426/https://discuss.reactjs.org/c/meeting-notes|url-status = dead}}</ref> However, major changes to React go through the Future of React repository issues and [[pull request]]s.<ref>{{Cite web|title = reactjs/react-future – The Future of React|url = https://github.com/reactjs/react-future|website = GitHub|access-date = 2015-12-13|archive-date = 2022-07-13|archive-url = https://web.archive.org/web/20220713230021/https://github.com/reactjs/react-future|url-status = live}}</ref><ref>{{Cite web|title = facebook/react – Feature request issues|url = https://github.com/facebook/react/labels/Type:%20Feature%20Request|website = GitHub|access-date = 2015-12-13|archive-date = 2022-07-09|archive-url = https://web.archive.org/web/20220709131412/https://github.com/facebook/react/labels/Type%3A%20Feature%20Request|url-status = live}}</ref> This enables the React community to provide feedback on new potential features, experimental APIs and JavaScript syntax improvements.
 
== History ==