React (webrammeverk)

Fra Wikipedia, den frie encyklopedi
Hopp til navigering Hopp til søk
React
React
Utvikler(e)Facebook, Inc., Jordan Walke
Utgitt29. Mai 2013
Nyeste versjon17.0.1 (22. oktober 2020)[1]
Operativsystemmultiplattform
Skrevet iJavaScript
LisensMIT-lisensen
Nettstedhttps://reactjs.org/

React (også kjent som React.js eller ReactJS) er et JavaScript bibliotek[2] for å lage/bygge brukergrensesnitt. Det vedlikeholdes av Facebook og et fellesskap av ulike utviklere og selskaper.[3][4][5]

React kan brukes som et utgangspunkt i utviklingen av enkelt-side (engelsk single-page) eller mobil applikasjon, da det er optimalisert for å raskt hente 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 bruk av ekstra biblioteker for tilstandsstyring, ruting og interaksjon med et API.[6][7] Redux[8], React Router[9] og axios[10] er eksempler på slike biblioteker.

Historie[rediger | rediger kilde]

React ble i utgangspunktet utviklet i 2011 av Jordan Walke, en programvareingengiør ved Facebook, først og fremst ved utviklingen av Facebooks Newsfeedprodukt. Senere ble det videreført og tatt bruk i 2012 i bildedelingstjenesten Instagram. I mai 2013 kunngjorde Facebook at de ønsker å videreføre React i fremtiden 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[11]. 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 apacheprosjekter 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 MIT-lisensen.

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-komponeneten, 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. ^ «Release 17.0.1». 22. oktober 2020. Besøkt 25. januar 2021. 
  2. ^ «React - A JavaScript library for building user interfaces.». Besøkt 7. april 2018. 
  3. ^ Krill, Paul (15. mai 2014). «React: Making faster, smoother UIs for data-driven Web apps». 
  4. ^ Hemel, Zef (3. juni 2013). «Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews». 
  5. ^ Dawson, Chris (25. juli 2014). «JavaScript’s History and How it Led To ReactJS». 
  6. ^ Dere, Mohan (19. februar 2018). «How to integrate create-react-app with all the libraries you need to make a great app». freeCodeCamp. 
  7. ^ Samp, Jon (13. januar 2018). «React Router to Redux First Router». Besøkt 14. juni 2018. 
  8. ^ «Redux · A Predictable State Container for JS Apps». Besøkt 23. oktober 2019. 
  9. ^ «React Router: Declarative Routing for React» (engelsk). Besøkt 23. oktober 2019. 
  10. ^ 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 
  11. ^ «BSD + PATENTS · facebook/react@dcf415c». GitHub (engelsk). Besøkt 29. januar 2021. 

Eksterne lenker[rediger | rediger kilde]