рд░рд┐рдПрдХреНрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рднрд╛рдЧ 26: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди

рд░рд┐рдПрдХреНрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдо рд▓реЛрдХрдкреНрд░рд┐рдп рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред

рдЫрд╡рд┐

тЖТ рднрд╛рдЧ 1: рдкрд╛рдареНрдпрдХреНрд░рдо рдЕрд╡рд▓реЛрдХрди, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдХрд╛рд░рдг, ReactDOM рдФрд░ JSX
тЖТ рднрд╛рдЧ 2: рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ
тЖТ рднрд╛рдЧ 3: рдШрдЯрдХ рдлрд╛рдЗрд▓реЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛
тЖТ рднрд╛рдЧ 4: рдорд╛рддрд╛-рдкрд┐рддрд╛ рдФрд░ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ
тЖТ рднрд╛рдЧ 5: рдПрдХ TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХреА рд╢реБрд░реБрдЖрдд, рд╕реНрдЯрд╛рдЗрд▓ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ
тЖТ рднрд╛рдЧ 6: рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЬреЗрдПрд╕рдПрдХреНрд╕ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
тЖТ рднрд╛рдЧ 7: рдЗрдирд▓рд╛рдЗрди рд╢реИрд▓реА
тЖТ рднрд╛рдЧ 8: TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦрд╛, рдШрдЯрдХреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд
тЖТ рднрд╛рдЧ 9: рдШрдЯрдХ рдЧреБрдг
тЖТ рднрд╛рдЧ 10: рдШрдЯрдХ рдЧреБрдгреЛрдВ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛
тЖТ рднрд╛рдЧ 11: рдбрд╛рдпрдиреЗрдорд┐рдХ рдорд╛рд░реНрдХрдЕрдк рдЬреЗрдирд░реЗрд╢рди рдФрд░ рдореИрдк рдПрд░реЗ рд╡рд┐рдзрд┐
тЖТ рднрд╛рдЧ 12: рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛, рдПрдХ TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХрд╛ рддреАрд╕рд░рд╛ рдЪрд░рдг
тЖТ рднрд╛рдЧ 13: рд╡рд░реНрдЧ-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХ
тЖТ рднрд╛рдЧ 14: рд╡рд░реНрдЧ-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ, рдШрдЯрдХ рд╕реНрдерд┐рддрд┐ рдкрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛
тЖТ рднрд╛рдЧ 15: рдШрдЯрдХ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛рдПрдБ
тЖТ рднрд╛рдЧ 16: TODO рдЖрд╡реЗрджрди, рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд╛ рдЪреМрдерд╛ рдЪрд░рдг
тЖТ рднрд╛рдЧ 17: TODO рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рдХрд╛рдо рдХрд╛ рдкрд╛рдВрдЪрд╡рд╛ рдЪрд░рдг, рдШрдЯрдХреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ
тЖТ рднрд╛рдЧ 18: TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХрд╛ рдЫрдард╛ рдЪрд░рдг
тЖТ рднрд╛рдЧ 19: рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ
рднрд╛рдЧ 20: рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рдкрд╣рд▓рд╛ рдкрд╛рда
тЖТ рднрд╛рдЧ 21: рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкрд░ рджреВрд╕рд░рд╛ рдкрд╛рда рдФрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛
тЖТ рднрд╛рдЧ 22: TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХрд╛ рд╕рд╛рддрд╡рд╛рдВ рдЪрд░рдг, рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛
тЖТ рднрд╛рдЧ 23: рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдкрд╣рд▓рд╛ рдкрд╛рда
тЖТ рднрд╛рдЧ 24: рджреВрд╕рд░рд╛ рд░реВрдк рдкрд╛рда
тЖТ рднрд╛рдЧ 25: рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛
тЖТ рднрд╛рдЧ 26: рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди
тЖТ рднрд╛рдЧ 27: рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░рд┐рдпреЛрдЬрдирд╛

рдкрд╛рда 44. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди


тЖТ рдореВрд▓

рдХрднреА-рдХрднреА рдХрд╛рдо рдХреА рдорд╛рддреНрд░рд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдШрдЯрдХ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ; рдПрдХ рдШрдЯрдХ рдХреЛ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рддрд░реНрдХ рдХреЛ рдЙрд╕рдХреЗ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рдЧрдарди рдХреЗ рддрд░реНрдХ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдкрд┐рдЫрд▓реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╛рда рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдШрдЯрдХ рдмрдирд╛рдпрд╛ рдерд╛ рдЬрд┐рд╕рдХреА рдХреЛрдб рд▓рдВрдмрд╛рдИ 150 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдкрд╛рд╕ рд╣реИред рдпрд╣ рдХреЛрдб рд╣рдореЗрдВ рддрдм рдорд┐рд▓рд╛ рд╣реИ:

import React, {Component} from "react" class App extends Component {    constructor() {        super()        this.state = {            firstName: "",            lastName: "",            age: "",            gender: "",            destination: "",            isVegan: false,            isKosher: false,            isLactoseFree: false        }        this.handleChange = this.handleChange.bind(this)    }       handleChange(event) {        const {name, value, type, checked} = event.target        type === "checkbox" ?            this.setState({                [name]: checked            })        :        this.setState({            [name]: value        })    }       render() {        return (            <main>                <form>                    <input                        name="firstName"                        value={this.state.firstName}                        onChange={this.handleChange}                        placeholder="First Name"                    />                    <br />                                       <input                        name="lastName"                        value={this.state.lastName}                        onChange={this.handleChange}                        placeholder="Last Name"                    />                    <br />                                       <input                        name="age"                        value={this.state.age}                        onChange={this.handleChange}                        placeholder="Age"                    />                    <br />                                       <label>                        <input                            type="radio"                            name="gender"                            value="male"                            checked={this.state.gender === "male"}                            onChange={this.handleChange}                        /> Male                    </label>                                       <br />                                       <label>                        <input                            type="radio"                            name="gender"                            value="female"                            checked={this.state.gender === "female"}                            onChange={this.handleChange}                        /> Female                    </label>                                       <br />                                       <select                        value={this.state.destination}                        name="destination"                        onChange={this.handleChange}                    >                        <option value="">-- Please Choose a destination --</option>                        <option value="germany">Germany</option>                        <option value="norway">Norway</option>                        <option value="north pole">North Pole</option>                        <option value="south pole">South Pole</option>                    </select>                                       <br />                                       <label>                        <input                            type="checkbox"                            name="isVegan"                            onChange={this.handleChange}                            checked={this.state.isVegan}                        /> Vegan?                    </label>                    <br />                                       <label>                        <input                            type="checkbox"                            name="isKosher"                            onChange={this.handleChange}                            checked={this.state.isKosher}                        /> Kosher?                    </label>                    <br />                                       <label>                        <input                            type="checkbox"                            name="isLactoseFree"                            onChange={this.handleChange}                            checked={this.state.isLactoseFree}                        /> Lactose Free?                    </label>                    <br />                                       <button>Submit</button>                </form>                <hr />                <h2><font color="#3AC1EF">Entered information:</font></h2>                <p>Your name: {this.state.firstName} {this.state.lastName}</p>                <p>Your age: {this.state.age}</p>                <p>Your gender: {this.state.gender}</p>                <p>Your destination: {this.state.destination}</p>                <p>Your dietary restrictions:</p>                               <p>Vegan: {this.state.isVegan ? "Yes" : "No"}</p>                <p>Kosher: {this.state.isKosher ? "Yes" : "No"}</p>                <p>Lactose Free: {this.state.isLactoseFree ? "Yes" : "No"}</p>                           </main>        )    } } export default App 

рдЗрд╕ рдХреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рджреЛрд╖, рдЬреЛ рддреБрд░рдВрдд рдЖрдкрдХреА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдХреЛрдб рдХрд╛ рдмрд▓реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕, render() рдХреА рд╕рд╛рдордЧреНрд░реА render() рд╡рд┐рдзрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реНрдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдХрд╛ рдХреЛрдб рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдШрдЯрдХ рдореЗрдВ "рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ" рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЗ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ)ред рдпрд╣ handleChange() рд╡рд┐рдзрд┐ рдХрд╛ рдХреЛрдб рд╣реИред

рдХреБрдЫ рдЕрдзреНрдпрдпрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рдХреНрд╖рдорддрд╛ рд╡рд╣ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ рдпрджрд┐ рдХреЛрдб рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЗрд╕реЗ рд╕рдВрдкреВрд░реНрдгрддрд╛ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ред рдЬрдм рдореИрдВ рдЬрд┐рд╕ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрд╛рддрд╛рд░ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░реЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ (рдЬреЛ рдЕрдм render() рд╡рд┐рдзрд┐ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ) рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдЕрд░реНрдерд╛рдд рдпрд╣ рдХреИрд╕реЗ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдЕрдм рдЙрд╕ рдШрдЯрдХ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд░рд╛рдЬреНрдп рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ handleChange() рдХрдВрдЯреНрд░реЛрд▓ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░)ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╣рдо, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдРрд╕реЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдирд╛рдореЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдпрд╣рд╛рдВ рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдШрдЯрдХреЛрдВ рдХреЛ рджреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдШрдЯрдХ рдШрдЯрдХ (рдкреИрдЯрд░реНрди рдХреЗ рдирд╛рдо рдореЗрдВ рдХрдВрдЯреЗрдирд░ рд╢рдмреНрдж рдЙрдиреНрд╣реЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ) рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдШрдЯрдХ (рдпрд╣ рдкреИрдЯрд░реНрди рдХреЗ рдирд╛рдо рдкрд░ рдШрдЯрдХ рд╣реИ)ред рдХрднреА-рдХрднреА рдХрдВрдЯреЗрдирд░ рдШрдЯрдХреЛрдВ рдХреЛ "рд╕реНрдорд╛рд░реНрдЯ" рдШрдЯрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдмрд╕ "рдХрдВрдЯреЗрдирд░", рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдШрдЯрдХреЛрдВ рдХреЛ "рдЧреВрдВрдЧрд╛" рдШрдЯрдХ, рдпрд╛ рдмрд╕ рдпрд╛ рдХреЗрд╡рд▓ "рдШрдЯрдХ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдирд╛рдо рд╣реИрдВ, рдФрд░, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрди рдирд╛рдореЛрдВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдЕрд░реНрде, рдорд╛рдорд▓реЗ рд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрдВрдЯреЗрдирд░ рдШрдЯрдХ рд╣реИ рдЬреЛ рд░рд╛рдЬреНрдп рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдФрд░ рд░рд╛рдЬреНрдп рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рд╣реИрдВ, рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реНрдХ рджреВрд╕рд░реЗ - рдкреНрд░рд╕реНрддреБрддрд┐ рдШрдЯрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдШрдЯрдХ рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░ рдШрдЯрдХ рд╕реЗ рдЧреБрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╣реА рдЧрдарди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

тЖТ рдпрд╣рд╛рдБ рджрд╛рди рдЕрдмреНрд░рд╛рдореЛрд╡ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреА рдкрдбрд╝рддрд╛рд▓ рдХрд░рддрд╛ рд╣реИред

рд╣рдо рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рдХреЛрдб рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рдм рдХреБрдЫ App рдПрдХ рдШрдЯрдХ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдЙрддрдирд╛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ App рдШрдЯрдХ рдЗрд╕ рдлреЙрд░реНрдо рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдХреЗ рдХрд╛рдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред

рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ App.js рд╕реНрдерд┐рдд рд╣реИ, рдлрд╝рд╛рдЗрд▓ Form.js , рдЬрд┐рд╕рдореЗрдВ рдирдП рдШрдЯрдХ рдХрд╛ рдХреЛрдб рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ред рд╣рдо App рдШрдЯрдХ рд╕реЗ рд╕рднреА рдХреЛрдб рдХреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ App рдШрдЯрдХ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЕрдм рдХреНрд▓рд╛рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдореЗрдВ рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп Form рдШрдЯрдХ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред App рдШрдЯрдХ рдореЗрдВ Form рдШрдЯрдХ рдЖрдпрд╛рдд рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, App рдШрдЯрдХ рдХрд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 import React, {Component} from "react" import Form from "./Form" function App() {   return (       <Form />   ) } export default App 

рдпрд╣рд╛рдБ рдХрд╛рдо рдХреЗ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧ

рдкрд┐рдЫрд▓реА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдмрддрд╛рдпрд╛ рдерд╛ рдХрд┐ рдореИрдВ App рдШрдЯрдХ" рддрд╛рд▓рд┐рдХрд╛ рдХреА рддрд░рд╣ рдХреБрдЫ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП App рдШрдЯрдХ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреГрд╖реНрда рдкрд░ рдЗрд╕рдХреЗ рдЦрдВрдб рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЖрд╡реЗрджрди рдХреЗ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рд╕реМрдВрдкреЗ рдЬрд╛рддреЗ рд╣реИрдВред

рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛, рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╡реНрдпрдХреНрдд рдХреА рдЧрдИ рд╣реИ рдХрд┐ рдПрдХ рдШрдЯрдХ рдХреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИ, рдЕрднреА рддрдХ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рд╣рдордиреЗ рдмрд╕ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬреЛ рдкрд╣рд▓реЗ App рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ Form рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдЕрдм рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ Form.js рдФрд░ App.js , рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ - FormComponent.js ред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдкрддреНрд░ рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдШрдЯрдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдЧреАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдШрдЯрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд░рдЪрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдм рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд░реВрд░рддреЛрдВ рдФрд░ рдкреИрдорд╛рдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ Form.js рдореЗрдВ рдлрд╝реЙрд░реНрдо рдХрд╛ рддрд░реНрдХ рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рдд рдХрдВрдЯреЗрдирд░ рдШрдЯрдХ рдХрд╛ рдХреЛрдбред рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ FormContainer.js рдФрд░ App рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ рдХреЛрдб рдореЗрдВ рдЗрдВрдкреЛрд░реНрдЯ рдХрдорд╛рдВрдб рдХреЛ рдмрджрд▓реЗрдВ, рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ FormContainer.js :

 import Form from "./FormContainer" 

рдЖрдк Form рдШрдЯрдХ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ Form FormContainer рднреА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЕрдм рд╣рдо рдлреЙрд░реНрдо рдХреЛ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рдХреЛ FormContainer.js рдлрд╝рд╛рдЗрд▓ рд╕реЗ FormContainer.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред

FormComponent рдШрдЯрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рдХреЛрдб рдХрд╛рдо рдХреЗ рдЗрд╕ рдЪрд░рдг рдХреЛ рдХреИрд╕реЗ рджреЗрдЦреЗрдЧрд╛:

 function FormComponent(props) {   return (       <main>           <form>               <input                   name="firstName"                   value={this.state.firstName}                   onChange={this.handleChange}                   placeholder="First Name"               />               <br />                             <input                   name="lastName"                   value={this.state.lastName}                   onChange={this.handleChange}                   placeholder="Last Name"               />               <br />                             <input                   name="age"                   value={this.state.age}                   onChange={this.handleChange}                   placeholder="Age"               />               <br />                             <label>                   <input                       type="radio"                       name="gender"                       value="male"                       checked={this.state.gender === "male"}                       onChange={this.handleChange}                   /> Male               </label>                             <br />                             <label>                   <input                       type="radio"                       name="gender"                       value="female"                       checked={this.state.gender === "female"}                       onChange={this.handleChange}                   /> Female               </label>                             <br />                             <select                   value={this.state.destination}                   name="destination"                   onChange={this.handleChange}               >                   <option value="">-- Please Choose a destination --</option>                   <option value="germany">Germany</option>                   <option value="norway">Norway</option>                   <option value="north pole">North Pole</option>                   <option value="south pole">South Pole</option>               </select>                             <br />                             <label>                   <input                       type="checkbox"                       name="isVegan"                       onChange={this.handleChange}                       checked={this.state.isVegan}                   /> Vegan?               </label>               <br />                             <label>                   <input                       type="checkbox"                       name="isKosher"                       onChange={this.handleChange}                       checked={this.state.isKosher}                   /> Kosher?               </label>               <br />                             <label>                   <input                       type="checkbox"                       name="isLactoseFree"                       onChange={this.handleChange}                       checked={this.state.isLactoseFree}                   /> Lactose Free?               </label>               <br />                             <button>Submit</button>           </form>           <hr />           <h2><font color="#3AC1EF">Entered information:</font></h2>           <p>Your name: {this.state.firstName} {this.state.lastName}</p>           <p>Your age: {this.state.age}</p>           <p>Your gender: {this.state.gender}</p>           <p>Your destination: {this.state.destination}</p>           <p>Your dietary restrictions:</p>                     <p>Vegan: {this.state.isVegan ? "Yes" : "No"}</p>           <p>Kosher: {this.state.isKosher ? "Yes" : "No"}</p>           <p>Lactose Free: {this.state.isLactoseFree ? "Yes" : "No"}</p>                 </main>   ) } 

рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдХреЛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд░рд╛рдЬреНрдп рдореЗрдВ рд▓рд┐рдВрдХ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ this.state.firstName ) рдФрд░ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ (рдпрд╣ this.handleChange ), рдЬреЛ рдХрдХреНрд╖рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрд╕реА рдШрдЯрдХ рдореЗрдВ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ рдЬреЛ рдЗрд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛрдб рдореЗрдВ рдерд╛ред рдЕрдм, рд╕рдм рдХреБрдЫ рдЬреЛ рдкрд╣рд▓реЗ рдЙрд╕реА рд╡рд░реНрдЧ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛрдб рд╕реНрдерд┐рдд рдерд╛, рдШрдЯрдХ рдХреЛ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдЧреБрдгреЛрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреБрдЫ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдЕрдм рд╣рдо рдЗрд╕ рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╣рдо Form рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ рдХреЛрдб рдкрд░ рд▓реМрдЯ рдЖрдПрдВрдЧреЗ, рдЬреЛ рдХрд┐ рдЕрдм FormContainer.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИред

рдЗрд╕рдХреА render() рд╡рд┐рдзрд┐ рдЕрдм рдЦрд╛рд▓реА рд╣реИред рд╣рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ FormComponent рдШрдЯрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЧреБрдгреЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо Form рдлрд╝рд╛рдЗрд▓ рдореЗрдВ FormComponent рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ FormComponent рдХреЛ render() рд╡рд┐рдзрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдПрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдФрд░, рдСрдмреНрдЬреЗрдХреНрдЯ, рд╕реНрдЯреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм Form рдШрдЯрдХ рдХрд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 import React, {Component} from "react" import FormComponent from "./FormComponent" class Form extends Component {   constructor() {       super()       this.state = {           firstName: "",           lastName: "",           age: "",           gender: "",           destination: "",           isVegan: false,           isKosher: false,           isLactoseFree: false       }       this.handleChange = this.handleChange.bind(this)   }     handleChange(event) {       const {name, value, type, checked} = event.target       type === "checkbox" ?           this.setState({               [name]: checked           })       :       this.setState({           [name]: value       })   }     render() {       return(           <FormComponent               handleChange={this.handleChange}               data={this.state}           />       )   } } export default Form 

рд╣рдо FormComponent рдШрдЯрдХ FormComponent рдХреЛрдб рдХреЛ FormComponent рдХрд░реЗрдВрдЧреЗ, рдЗрд╕реЗ рдирд┐рдореНрди рд░реВрдк рдореЗрдВ FormComponent :

 import React from "react" function FormComponent(props) {   return (       <main>           <form>               <input                   name="firstName"                   value={props.data.firstName}                   onChange={props.handleChange}                   placeholder="First Name"               />               <br />                             <input                   name="lastName"                   value={props.data.lastName}                   onChange={props.handleChange}                   placeholder="Last Name"               />               <br />                             <input                   name="age"                   value={props.data.age}                   onChange={props.handleChange}                   placeholder="Age"               />               <br />                             <label>                   <input                       type="radio"                       name="gender"                       value="male"                       checked={props.data.gender === "male"}                       onChange={props.handleChange}                   /> Male               </label>                             <br />                             <label>                   <input                       type="radio"                       name="gender"                       value="female"                       checked={props.data.gender === "female"}                       onChange={props.handleChange}                   /> Female               </label>                             <br />                             <select                   value={props.data.destination}                   name="destination"                   onChange={props.handleChange}               >                   <option value="">-- Please Choose a destination --</option>                   <option value="germany">Germany</option>                   <option value="norway">Norway</option>                   <option value="north pole">North Pole</option>                   <option value="south pole">South Pole</option>               </select>                             <br />                             <label>                   <input                       type="checkbox"                       name="isVegan"                       onChange={props.handleChange}                       checked={props.data.isVegan}                   /> Vegan?               </label>               <br />                             <label>                   <input                       type="checkbox"                       name="isKosher"                       onChange={props.handleChange}                       checked={props.data.isKosher}                   /> Kosher?               </label>               <br />                             <label>                   <input                       type="checkbox"                       name="isLactoseFree"                       onChange={props.handleChange}                       checked={props.data.isLactoseFree}                   /> Lactose Free?               </label>               <br />                             <button>Submit</button>           </form>           <hr />           <h2><font color="#3AC1EF">Entered information:</font></h2>           <p>Your name: {props.data.firstName} {props.data.lastName}</p>           <p>Your age: {props.data.age}</p>           <p>Your gender: {props.data.gender}</p>           <p>Your destination: {props.data.destination}</p>           <p>Your dietary restrictions:</p>                     <p>Vegan: {props.data.isVegan ? "Yes" : "No"}</p>           <p>Kosher: {props.data.isKosher ? "Yes" : "No"}</p>           <p>Lactose Free: {props.data.isLactoseFree ? "Yes" : "No"}</p>                 </main>   ) } export default FormComponent 

рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХреЛрдб рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдШрдЯрдХ рдЕрдм рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШрдЯрдирд╛ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХред

рдЗрди рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж, рди рддреЛ рдлреЙрд░реНрдо рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рди рд╣реА рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ FormComponent рдШрдЯрдХ рдХрд╛ рдХреЛрдб рдЖрдХрд╛рд░ рдЕрднреА рднреА рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдм рдпрд╣ рдХреЛрдб рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдлреЙрд░реНрдо рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдм рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рдирддреАрдЬрддрди, рд╣рдордиреЗ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдкреГрдердХреНрдХрд░рдг рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред FormContainer.js рдлрд╝рд╛рдЗрд▓ рд╕реЗ Form рдШрдЯрдХ рдЕрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдмрдХрд┐ FormComponent.js рдлрд╝рд╛рдЗрд▓ рд╕реЗ FormComponent рдШрдЯрдХ рдореЗрдВ рдХреЗрд╡рд▓ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рддрд╛ рд╣реИред App рдШрдЯрдХ рдЕрдм рдХреЗрд╡рд▓ рдмрдбрд╝реЗ рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдкреГрд╖реНрда рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐, Redux рдЬреИрд╕реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдФрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП Context рдПрдкреАрдЖрдИ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди рдЕрдм рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Redux рдПрдХ рдРрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдШрдЯрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдо


рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдордиреЗ рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдВрдЪ рдХреА, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЙрди рдШрдЯрдХреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЧрдарди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ рдФрд░ рдЬреЛ рд░рд╛рдЬреНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЖрд╡реЗрджрди рдХреЗ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХреЛрдб рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реБрдЧрдо рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рдПрдХ рдХреЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЖрдк рдХрд┐рд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

Source: https://habr.com/ru/post/hi446206/


All Articles