React (webrammeverk)

React
Skaper(e)Meta
Utvikler(e)Meta, Harshil Patel, Sebastian Markbåge, Dan Abramov, Rachel Nabors, Andrew Clark
Utgitt 29. mai 2013
Nyeste versjon18.3.1 (26. april 2024)[1]
Kodelagerhttps://github.com/facebook/react
Operativsystemmultiplattform
Skrevet iJavaScript
TypeWebapplikasjon
LisensMIT-lisensen[2][3]
Nettstedar.reactjs.org (ar)
ru.reactjs.org (ru)
react.dev (en) (2023–)

React (også kjent som React.js og ReactJS) er et JavaScript-bibliotek[4] for å lage og bygge brukergrensesnitt. Det vedlikeholdes av Meta (tidligere Facebook) og et fellesskap av ulike utviklere og selskaper.[5][6][7]

React brukes gjerne som et utgangspunkt i utviklingen av enkeltside- (engelsk single-page) eller mobilapplikasjoner. Rammeverket er optimalisert for raskt å hente ut skiftende data som må registreres. Henting av data er imidlertid bare begynnelsen på det som skjer på en nettside, og det er grunnen til at komplekse React-applikasjoner vanligvis krever ekstra biblioteker for tilstandsstyring, ruting og interaksjon med et API.[8][9] Redux[10], React Router[11] og Axios[12] er eksempler på slike biblioteker.

React ble i utgangspunktet utviklet i 2011 av Jordan Walke, en programvareingeniør ved Facebook, først og fremst ved utviklingen av Facebooks Newsfeed-produkt. Senere ble det videreført og tatt i bruk i 2012 i bildedelingstjenesten Instagram. I mai 2013 kunngjorde Facebook at de ønsket å videreføre React i framtiden som et Open Source-Prosjekt. I oktober 2014 ble Reacts programvarelisens endret fra Apache-lisensen til BSD-lisensen som en ytterligere patentlisens, som forbeholder Facebook retten til å trekke tilbake lisensen ved patentstridigheter[13]. Denne ukonvensjonelle klausulen førte til en kontroversiell diskusjon. En omformulering av denne patentklausulen i april 2015 førte ikke til en slutt på konfliktene. I juli 2017 offentliggjorde Apace Software Foundation at de ikke tillater at apache-prosjekter kan ha denne tilleggslisensen. Kontra den opprinnelige informasjonen og uten ønske om å gå tilbake fra klausulen, offentliggjorde Facebook i september 2017 React versjon 16.0.0. under lisensen MIT.

Grunnleggende bruk

[rediger | rediger kilde]

Følgende er et rudimentært eksempel på React-bruk i HTML med JSX og JavaScript.

<div id="myReactApp"></div>  <script type="text/babel">   class Greeter extends React.Component {      render() {        return <h1>{this.props.greeting}</h1>     }    }     ReactDOM.render(<Greeter greeting="Hello World!" />, document.getElementById('myReactApp')); </script> 

Greeter-klassen er en React-komponent som godtar en egenskap greeting. ReactDOM.render-metoden skaper en forekomst av Greeter-komponenten, setter greeting-forekomsten til 'Hello World' og setter inn den gjengitte komponenten som et barnelement i DOM-elementet med ID myReactApp.

Når det vises i en nettleser, blir resultatet

<div id="myReactApp">   <h1>Hello World!</h1> </div> 

Referanser

[rediger | rediger kilde]
  1. ^ https://registry.npmjs.com/react.
  2. ^ «React v16.0». 
  3. ^ "Change license and remove references to PATENTS"; tidspunkt: 24. september 2017.
  4. ^ «React - A JavaScript library for building user interfaces.». React. Besøkt 7. april 2018. 
  5. ^ Krill, Paul (15. mai 2014). «React: Making faster, smoother UIs for data-driven Web apps». InfoWorld. 
  6. ^ Hemel, Zef (3. juni 2013). «Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews». InfoQ. 
  7. ^ Dawson, Chris (25. juli 2014). «JavaScript’s History and How it Led To ReactJS». The New Stack. 
  8. ^ Dere, Mohan (19. februar 2018). «How to integrate create-react-app with all the libraries you need to make a great app». freeCodeCamp. 
  9. ^ Samp, Jon (13. januar 2018). «React Router to Redux First Router». About Codecademy. Besøkt 14. juni 2018. 
  10. ^ «Redux · A Predictable State Container for JS Apps». redux.js.org. Besøkt 23. oktober 2019. 
  11. ^ «React Router: Declarative Routing for React». ReactRouterWebsite (på engelsk). Besøkt 23. oktober 2019. 
  12. ^ Promise based HTTP client for the browser and node.js: axios/axios, axios, 2019-10-23, https://github.com/axios/axios, besøkt 2019-10-23 
  13. ^ «BSD + PATENTS · facebook/react@dcf415c». GitHub (på engelsk). Besøkt 29. januar 2021. 

Eksterne lenker

[rediger | rediger kilde]