In deze tutorial leer je over vormen en gebeurtenissen in React. We beginnen met het maken van een eenvoudige React-gebaseerde app en voegen vervolgens een formulier en enkele elementen toe. Vervolgens zullen we zien hoe gebeurtenissen aan de formulierelementen kunnen worden toegevoegd.
Als je een beginner bent met React, raad ik je aan eerst de introductietraining over React te lezen om aan de slag te gaan.
Laten we beginnen met het opzetten van onze React-webapplicatie. Maak een projectmap met de naam ReactFormApp
. Binnen ReactFormApp
, maak een bestand aan met de naam index.html
en voeg de volgende HTML-code toe:
TutsPlus - Formulieren en gebeurtenissen reageren
Initialiseer het project met Node Package Manager (npm).
npm init
Vul de vereiste gegevens in en u moet de package.json
bestand in de ReactFormApp
map.
"naam": "reactformapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": "test": "echo \" Fout : geen test opgegeven \ "&& exit 1", "author": "", "license": "ISC"
Installeer de Reageer
en reactie-dom
afhankelijkheden met behulp van npm.
npm install react-dom reageren - opslaan
Installeer het vereiste babel-pakket met behulp van npm en sla het op in package.json
het dossier.
npm installeren --save-dev webpack webpack-dev-server babel-core babel-loader babel-preset-reageren babel-preset-es2015
Babel
pakketten zijn vereist om de JSX-code naar JavaScript te transformeren.
Maak een webpack-configuratiebestand om de webpackconfiguraties af te handelen. Maak een bestand met de naam webpack.config.js
en voeg de volgende configuraties toe:
module.exports = entry: './app.js', output: filename: 'bundle.js',, module: loaders: [exclude: / node_modules /, loader: 'babel-loader? presets [ ] = es2015 & presets [] = reageren ']
app.js
is het bestand waar onze React-code zich zal bevinden. Maak een bestand met de naam app.js
binnen in de ReactFormApp
map. Importeer de vereiste reactieve bibliotheken in app.js
. Maak een component genaamd App
een div hebben met wat tekst. Render het onderdeel met behulp van de rendermethode. Hier is hoe de basis app.js
bestand zou er als volgt uitzien:
import Reageren van 'reageren' importeren render uit 'react-dom' var App = React.createClass (render: function () return (TutsPlus - Welkom bij React Form App); ); renderen ((), Document.getElementById ( 'app'))
Sla de wijzigingen op en probeer de webpack-ontwikkelserver opnieuw te laden.
webpack-dev-server
Nadat de server opnieuw is opgestart, kunt u de React-app bekijken die wordt uitgevoerd op http: // localhost: 8080 /.
We hebben de standaard React-app in gebruik, laten we naar de volgende stap gaan en proberen een formuliercomponent te maken met behulp van de JSX-code in app.js
.
Maak een component genaamd FormComp
binnen app.js
.
var FormComp = React.createClass (render: function () return ();)
Binnen de renderfunctie voor FormComp definiëren we de HTML-code voor het maken van een formulier. We plaatsen een paar labels, invoervelden en een knop om te klikken. Hier is hoe het eruit ziet:
var FormComp = React.createClass (render: function () return (); )TutsPlus - Formulier zelfstudie
Geef de formuliercomponent weer FormComp
om het formulier binnenin weer te geven index.html
.
renderen ((), Document.getElementById ( 'app'))
Sla de wijzigingen op en start de webpackserver opnieuw op en u zou het formulier moeten kunnen bekijken.
Onze React-vorm is in goede vorm. Om interactie mogelijk te maken, moeten we evenementen aan het formulier toevoegen.
We beginnen met het toevoegen van toestandsvariabelen aan elk van de invoervakken, zodat we de waarden van de invoervakken kunnen lezen. Laten we de toestandsvariabelen instellen voor de voornaam en de laatste invoertekst.
Zorg ervoor dat u de beginstatus voor de bovenstaande variabelen instelt. Definieer de getInitialState
functie binnen de FormComp
component en initialiseer beide variabelen.
getInitialState: function () return lName: ", fName:"; ,
We moeten de on-change-gebeurtenis van de invoervakken afhandelen en de toestandsvariabelen toewijzen wanneer de waarde in de tekstvakken verandert. Dus definieer een onChange
gebeurtenis op de invoervakken.
Definieer de onChange
functies binnen de FormComp
en stel de toestandsvariabelen in.
handleFNameChange: function (event) this.setState (fName: event.target.value); , handleLNameChange: function (event) this.setState (lName: event.target.value);
Laten we proberen de toestandsvariabelen weer te geven door ze te gebruiken. Binnen in de FormComp
HTML, voeg het volgende element toe dat de toestandsvariabelen weergeeft.
Je volledige naam is
this.state.fName this.state.lName
Sla de wijzigingen op en start de webpack-server opnieuw op. Probeer wat tekst in te voeren in de tekstvakken voor de voor- en achternaam en je kunt de resultaten bekijken zodra je typt.
Laten we vervolgens een gebeurtenis bij de klik toevoegen aan de knop Verzenden die we op ons formulier hebben.
Definieer de handleClick
functie binnen de FormComp
component. Door op de knop Verzenden te klikken, voegen we zowel voornaam als achternaam samen en wordt de volledige naam in het formulier weergegeven. Hier is de handleClick
functie:
handleClick: function () var fullName = this.state.fName + "+ this.state.lName; this.setState (Name: fullName);,
Initialiseer ook de Naam
variabele in de getInitialState
functie.
getInitialState: function () return lName: ", fName:", Name: ";
Geef de aaneengesloten volledige naam weer in het HTML-formulier.
Je volledige naam is
This.state.Name
Hier is hoe de finale FormComp
component ziet eruit:
var FormComp = React.createClass (getInitialState: function () return lName: ", fName:", Name: ";, handleFNameChange: function (event) this.setState (fName: event.target.value );, handleLNameChange: function (event) this.setState (lName: event.target.value);, handleClick: function () var fullName = this.state.fName + "+ this.state. lName; this.setState (Name: fullName);, render: function () retourneren (); )TutsPlus - Formulier zelfstudie
Je volledige naam is
This.state.Name
Sla de bovenstaande wijzigingen op en start de ontwikkelserver opnieuw op. Voer beide namen in en druk op de verzendknop. De volledige naam moet worden weergegeven.
In deze zelfstudie van React hebt u geleerd hoe u aan de slag kunt met React-apps maken en hebt u de basisbegrippen geleerd over hoe u moet omgaan met formulieren en gebeurtenissen in een op React gebaseerde webapp. Ik hoop dat deze tutorial nuttig voor je zal zijn om te beginnen met het maken van React-gebaseerde apps.
Broncode van deze tutorial is beschikbaar op GitHub.
Laat ons uw mening, suggesties of eventuele correcties in de opmerkingen hieronder weten. Blijf deze ruimte bekijken voor meer React-tutorials.