React (webrammeverk)

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

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. Redux, React Router og Axios er eksempler på slike biblioteker.

Historie 
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. 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
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

Eksterne lenker 
 
 
  React eksempel

Programvare fra 2015
Webrammeverk
Facebook