Overbruggingsreacties met andere populaire webtalen

Reageren is een weergavebibliotheek die is geschreven in JavaScript en dus agnostisch is voor elke stapelconfiguratie en kan worden weergegeven in vrijwel elke webtoepassing die HTML en JavaScript gebruikt voor zijn presentatielaag.

Aangezien React werkt als de 'V' in 'MVC', kunnen we onze eigen toepassingsstack maken vanuit onze voorkeuren. Tot nu toe hebben we in deze gids React gezien die werkt met Express, een Node ES6 / JavaScript-gebaseerd framework. Andere populaire Node-gebaseerde matches voor React zijn het Meteor-framework en Facebook's Relay.

Als u wilt profiteren van het uitstekende componentgebaseerde JSX-systeem van React, de virtuele DOM en de supersnelle weergavetijden met uw bestaande project, kunt u dat doen door een van de vele open-sourceoplossingen te implementeren.

PHP

Omdat PHP een server-side scriptingtaal is, kan integratie met React verschillende vormen aannemen:

  • React-php-v8js gebruiken
  • Server-side Request / Response Route-afhandeling (met een router, bijvoorbeeld Alto)
  • JSON-uitvoer via json_encode ()
  • Sjabloonomloop, b.v. Takje

Server-Side weergave

Voor het weergeven van componenten op de server is er een bibliotheek beschikbaar op GitHub.

We kunnen bijvoorbeeld het volgende doen PHP met dit pakket:

"php

$ rjs = nieuwe ReactJS ($ react_source, $ app_source); $ rjs-> setComponent ('MyComponent', array ('any' => 1, 'props' => 2));

// print rendered markup echo '

'. $ rjs-> getMarkup (). '
';

// laad JavaScript op een of andere manier - samengevoegd, van CDN, etc // inclusief react.js en custom / components.js

// init client echo '';

// herhaal setComponent (), getMarkup (), getJS () indien nodig // om meer componenten weer te geven "

De kracht van het combineren van React met elke serverzijdige scriptingtaal is de mogelijkheid om React met gegevens te voeden en uw bedrijfslogica zowel op de server als op de client toe te passen. Het vernieuwen van een oude applicatie in een Reactive-app was nog nooit zo eenvoudig!

PHP + Alto Router gebruiken

Bekijk voor een voorbeeldtoepassing deze repository op GitHub.

Configureer uw AltoRouter als zodanig:

"php

// Router komt overeen // - // Manual $ router-> map ('GET', '/', $ viewPath. 'Reactjs.html', 'reactjs');

$ result = $ viewPath. '404.php';

$ match = $ router-> match (); if ($ match) $ result = $ match ['target'];

// Return-routevergelijking bevat $ resultaat;

?>"

Met de AltoRouter instellen van de pagina's van uw toepassing voor de opgegeven routes, u kunt dan alleen uw Reageer code in de HTML-markup en begin met het gebruik van uw componenten.

JavaScript:

"javascript" gebruik strict ";

var Commentaar = React.createClass (displayName: "Reactie"),

render: function render () var rawMarkup = gemarkeerd (this.props.children.toString (), sanitize: true); return React.createElement ("div", className: "comment", React.createElement ("h2", className: "commentAuthor", this.props.author), React.createElement ("span", dangerousouslySetInnerHTML : __html: rawMarkup)); ); "

Zorg ervoor dat u de React-bibliotheken opneemt en plaats de HTML ook in de body-tag die vanuit uw PHP wordt aangeboden AltoRouter app, bijvoorbeeld:

"html

Reageer voorbeeld

"

Laravel-gebruikers

Voor het zeer populaire PHP-framework Laravel is er de reactie-laravel bibliotheek, waardoor React.js direct vanuit je Blade-weergaven wordt geopend.

Bijvoorbeeld:

php @react_component ('Message', ['title' => 'Hello, World'], ['prerender' => true])

De prerender flag geeft Laravel de opdracht om de component aan de serverzijde te renderen en vervolgens aan de clientzijde te koppelen.

Voorbeeld Laravel 5.2 + React-app

Kijk eens naar deze uitstekende startersrepository voor een voorbeeld van hoe Laravel + React werkt door Spharian.

Om uw React-code in uw Laravel weer te geven, stelt u de bron van uw React-bestanden in de index.blade.php body-tag, door bijvoorbeeld het volgende toe te voegen:

html

.NETTO

Met behulp van het ReactJS.NET-framework kunt u React gemakkelijk introduceren in uw .NET-toepassing.

Installeer het ReactJS.NET-pakket op uw Visual Studio IDE via de NuGET-pakketbeheerder voor .NET.

Zoek in de beschikbare pakketten naar 'ReactJS.NET (MVC 4 en 5)' en installeer. U kunt nu elke .jsx-extensiecode gebruiken in uw asp.net-app.

Voeg een nieuwe controller toe aan uw project om aan de slag te gaan met React + .NET en selecteer "Empty MVC Controller" voor uw sjabloon. Klik met de rechtermuisknop zodra het is gemaakt return View () en voeg een nieuwe weergave toe met de volgende details:

  • Bekijk naam: Index
  • View Engine: Razor (CSHTML)
  • Maak een sterk getypte weergave: Niet afgeslagen
  • Maken als een gedeeltelijke weergave: niet afgeslagen
  • Gebruik een lay-out of stramienpagina: Uitgeschakeld

Nu kunt u de standaardcode vervangen door het volgende:

"html @ Layout = null;

Hallo Reageren

"

Nu moeten we het maken Example.jsx waarnaar hierboven wordt verwezen, dus maak het bestand in uw project en voeg uw toe JSX als volgt:

"javascript var. CommentBox = React.createClass (render: function () return (

Hallo Wereld! Ik ben een CommentBox.
); ); ReactDOM.render (

, document.getElementById ('content')); "

Nu als u klikt Spelen in uw Visual Studio IDE zou u het voorbeeldvakje Hello World moeten zien.

Hier is een gedetailleerde tutorial over het schrijven van een component voor asp.net.

rails

Door het gebruiken van reactie-rails, je kunt eenvoudig React to any Rails (3.2+) applicatie toevoegen. Voeg gewoon de edelsteen toe om te beginnen:

rails gem 'react-rails', '~> 1.7.0'

en installeer:

rails bundel installeren

Nu kunt u het installatiescript uitvoeren:

rails rails g reageren: installeer

Dit zal in twee dingen resulteren:

  • EEN components.js manifest bestand in app / assets / javascripts / components /; hier zet je al je componentencode in.
  • Voeg het volgende toe aan uw application.js:

rails // = vereisen reageren // = vereisen react_ujs // = componenten vereisen

Nu .JSX code wordt weergegeven en u kunt een blok Reageren toevoegen aan uw sjabloon, bijvoorbeeld:

"rails <%= react_component('HelloMessage', name: 'John') %>

"

Ruby JSX

Babel vormt de kern van de Ruby-implementatie van de reactie-rails edelsteen, en kan als volgt worden geconfigureerd:

ruby config.react.jsx_transform_options = blacklist: ['spec.functionName', 'validation.react', 'strict'], # standaardopties optioneel: ["transformerName"], # pass extra babel opties whitelist: ["useStrict" ] # nog meer opties

Een keer reactie-rails is geïnstalleerd in uw project, herstart uw server en alle .js.jsx bestanden worden omgezet in uw activapijplijn.

Voor meer informatie over reactie-rails, ga naar de officiële documentatie.

Python

Installeren python reageren, gebruik pip zoals zo:

bash pip install react

Je kunt nu React-code met een Python-app weergeven door het pad naar je te bieden .JSX componenten en de app bedienen met een weergaveserver. Meestal is dit een afzonderlijke Node.js werkwijze.

Volg deze eenvoudige korte handleiding om een ​​weergaveserver uit te voeren.

Nu kunt u uw server als volgt starten:

bash-knooppunt render_server.js

Start je python-applicatie:

bash python app.py

En laad http://127.0.0.1:5000 in een browser om uw React-code te zien renderen.

Django

Toevoegen Reageer aan jouw INSTALLED_APPS en geef als volgt een configuratie:

"bash INSTALLED_APPS = (# ... 'reageer',)

REACT = 'RENDER': not DEBUG, 'RENDER_URL': 'http://127.0.0.1:8001/render',

"

Meteoor

React aan uw meteoorproject toevoegen, doe dit via:

bash meteor npm install --save react-dom reageren

Dan in client / main.jsx voeg bijvoorbeeld het volgende toe:

"bash import Reageren van 'reageren'; import Meteor uit 'meteor / meteor'; import render uit 'react-dom';

importeer de app van '... /imports/ui/App.jsx';

Meteor.startup (() => render (render), document.getElementById ( 'render-target')); );"

Dit is een instantine App Reageer component, waarin je definieert invoer / ui / App.jsx, bijvoorbeeld:

"bash import Reageren, Component uit 'reageren';

kop van './Headline.jsx' importeren;

// De app-component - vertegenwoordigt de hele standaardwaarde voor het exporteren van app App-component getHeadlines () return [_id: 1, tekst: 'Legalisatie van medische marihuana gaat wereldwijd!' , _id: 2, tekst: 'Matt Brown gaat in de cultus van scientology', _id: 3, tekst: 'Het deep web: droom van een crimineel of fascinerende vrijheid?' ,];

renderHeadlines () return this.getHeadlines (). map ((kop) => ( ));

render () retour (

De laatste krantenkoppen

 
    This.renderHeadlines ()
); "

Binnen in de Headline.jsx, je gebruikt de volgende code:

"plain import Reageren, Component, PropTypes uit 'reageren';

// Headline-component - hier wordt een enkel nieuwskopregelitem weergegeven uit een geïllustreerde array-export standaardklasse Headline extends Component render () return () (

  • This.props.headline.text
  • );

    Headline.propTypes = // Dit onderdeel krijgt de titel te zien via een React-prop. // We kunnen propTypes gebruiken om aan te geven dat het vereiste kop is: PropTypes.object.isRequired,; "

    Meteor is klaar voor React en heeft officiële documentatie.

    Niet meer stuur

    Een belangrijk punt om op te merken: Bij gebruik van Meteor met React, de standaard Stuur sjabloneringssysteem wordt niet meer gebruikt omdat het niet beschikbaar is omdat React deel uitmaakt van het project.

    Dus in plaats van gebruiken > Sjabloonnaam of Template.templateName voor helpers en evenementen in uw JS, definieert u alles in uw View-componenten, die allemaal subklassen zijn van React.component.

    Conclusie

    React kan in praktisch elke taal worden gebruikt die gebruikmaakt van een HTML-presentatielaag. De voordelen van React kunnen ten volle worden benut door een overvloed aan potentiële softwareproducten.

    React maakt de UI View-laag componentgebaseerd. Logisch werken met elke stapel betekent dat we een universele interfacetaal hebben die ontwerpers over alle facetten van webontwikkeling kunnen gebruiken.

    React verenigt de interfaces, branding en algemene onvoorziene omstandigheden van onze projecten in alle implementaties, ongeacht het apparaat of de beperkingen van het platform. Ook in termen van freelance, klantgericht werk of intern binnen grote organisaties, zorgt React voor herbruikbare code voor uw projecten.

    U kunt uw eigen op maat gemaakte componentenbibliotheken maken en onmiddellijk aan de slag in nieuwe projecten of oude versies renoveren, zodat u snel en eenvoudig volledig reactieve isometrische toepassingsinterfaces kunt maken.

    React is een belangrijke mijlpaal in webontwikkeling en heeft de potentie om een ​​essentieel hulpmiddel te worden in de verzameling van elke ontwikkelaar. Blijf niet achter.