рдЖрдЬ рд╣рдо рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рд░реВрдкреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓реА рдмрд╛рд░, рд╣рдордиреЗ рдШрдЯрдХреЛрдВ рдФрд░ рдкрд╛рда рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рдмрд╛рддрдЪреАрдд рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХреАред рдпрд╣рд╛рдВ рд╣рдо рдЕрдиреНрдп рдлрд╛рд░реНрдо рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВред

тЖТ
рднрд╛рдЧ 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: рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдкрд╛рда 42. рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рднрд╛рдЧ 2
тЖТ
рдореВрд▓рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдо рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рдкрд╛рда рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЭрдВрдбреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ (рдЙрдиреНрд╣реЗрдВ "рд░реЗрдбрд┐рдпреЛ рдмрдЯрди" рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ), рдФрд░ рд╕реВрдЪреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЖрдЬ рддрдХ, рд╣рдордиреЗ рдХреЗрд╡рд▓ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рда рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред
рдпрд╣рд╛рдБ
App
рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЖрдЬ рдХреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ:
import React, {Component} from "react" class App extends Component { constructor() { super() this.state = { firstName: "", lastName: "" } this.handleChange = this.handleChange.bind(this) } handleChange(event) { const {name, value} = event.target this.setState({ [name]: value }) } render() { return ( <form> <input type="text" value={this.state.firstName} name="firstName" placeholder="First Name" onChange={this.handleChange} /> <br /> <input type="text" value={this.state.lastName} name="lastName" placeholder="Last Name" onChange={this.handleChange} /> { /** * : * * <textarea /> * <input type="checkbox" /> * <input type="radio" /> * <select> <option> */ } <h1>{this.state.firstName} {this.state.lastName}</h1> </form> ) } } export default App
рдпрд╣ рдХрд╛рдо рдХреЗ рдЪрд░рдг рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬрдлрд╝реЙрд░реНрдо рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рди рдХреЗрд╡рд▓ рдлрд╝реАрд▓реНрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЫреЛрдЯреА рд▓рд╛рдЗрдиреЗрдВ рджрд░реНрдЬ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЬрдм рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рд░реВрдкреЛрдВ рдХреЛ рд▓реИрд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реИред
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЦрдВрдбрд┐рдд рд╣реИ рдЬреЛ рдЙрди рддрддреНрд╡реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЪрд▓реЛ рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рдкрд╛рда рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ -
textarea
рддрддреНрд╡ред рдпрд╣ рд╕рдордЭрдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрджрд┐ рдЖрдк рдирд┐рдпрдорд┐рдд HTML рдлреЙрд░реНрдо рдмрдирд╛рддреЗ рд╕рдордп рдЗрд╕ рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕реНрд╡-рд╕рдорд╛рдкрди рдЯреИрдЧ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐
input
рддрддреНрд╡ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдерд╛ред рдЗрд╕рдХреЗ рдЙрджреНрдШрд╛рдЯрди рдФрд░ рд╕рдорд╛рдкрди рднрд╛рдЧ рд╣реИрдВред
рдЗрд╕ рддрддреНрд╡ рдХреЛ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдХреЗ рдлрд╝реЙрд░реНрдо рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдирд┐рдореНрди рдХреЛрдб:
<br /> <textarea></textarea>
рдпрджрд┐ рдЖрдк рдЕрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреГрд╖реНрда рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕ рдкрд░ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдЯреЗрдХреНрд╕реНрдЯ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдХреИрд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдкреГрд╖реНрда рдкрд░ рдкрд╛рда рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдбрдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХреНрд╖реЗрддреНрд░ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдирд┐рдЪрд▓реЗ рд╕рд╣реА рдореЗрдВ рдорд╛рд░реНрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
rows
рдФрд░
cols
рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
cols
рдЖрдк рдЗрд╕ рддрддреНрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХреЗ рдЖрдпрд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп HTML рдореЗрдВ, рдпрджрд┐ рдЖрдк рдлрд╝реАрд▓реНрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрд╕рдореЗрдВ рдХреБрдЫ рдкрд╛рда рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддрддреНрд╡ рдХреЗ рдЙрджреНрдШрд╛рдЯрди рдФрд░ рд╕рдорд╛рдкрди рдЯреИрдЧ рдХреЗ рдмреАрдЪ рд╡рд╛рдВрдЫрд┐рдд рдкрд╛рда рджрд░реНрдЬ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдРрд╕реЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
input
рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рд╣рдордиреЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рдЕрд░реНрдерд╛рддреН, рд░рд┐рдПрдХреНрдЯ рдореЗрдВ,
textarea
рдЯреИрдЧ рд╕реНрд╡-рд╕рдорд╛рдкрди рд╣реИред рдЕрд░реНрдерд╛рддреН, рдкреГрд╖реНрда рдкрд░ рдлрд╝реАрд▓реНрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
<textarea />
рдЖрдк рдЗрд╕ рдЯреИрдЧ рдореЗрдВ
value
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╕рд╛рдзрд╛рд░рдг рдлрд╝реАрд▓реНрдб рдлрд╝реАрд▓реНрдб рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рд╡рд┐рднрд┐рдиреНрди рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдореЗрдВ рдПрдХрд░реВрдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд░рд╛рдЬреНрдп рдЧреБрдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдЖрдЗрдП рдХреНрд╖реЗрддреНрд░ рдХреЛрдб рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рд▓рд╛рдПрдВ:
<textarea value={"Some default value"}/>
рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрд╛рда рдХреЛ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рдкрд╛рдард╣рдо рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рдкрд╛рда рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдкрд░ рд▓реМрдЯ рдЖрдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЭрдВрдбреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдПрдХ рдЪреЗрдХ рдмреЙрдХреНрд╕ рдПрдХ
input
рдирд┐рдпрдВрддреНрд░рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдкреНрд░рдХрд╛рд░
checkbox
ред рдпрд╣рд╛рдБ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рд╣реИ:
<input type="checkbox" />
рдпрд╣рд╛рдБ рдЗрд╕ рдорд╛рд░реНрдХрдЕрдк рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдзреНрд╡рдЬ рдкреЗрдЬ рдкрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
рдЪреЗрдХ рдмреЙрдХреНрд╕рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп
value
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреБрдЫ рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдЪреЗрдХ рдмреЙрдХреНрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕реЗред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЪреЗрдХрдмреЙрдХреНрд╕ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реИ,
checked
рдХреА
checked
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдорд╛рди рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЭрдВрдбреЗ рдЖрдорддреМрд░ рдкрд░ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рддрд╛рд░реНрдХрд┐рдХ рдЧреБрдгреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддреЗ рд╣реИрдВред
рдЖрдЗрдП рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рд▓рд╛рдПрдВ:
this.state = { firstName: "", lastName: "", isFriendly: true }
рдзреНрд╡рдЬ рд╡рд┐рд╡рд░рдг рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИ:
<input type="checkbox" checked={this.state.isFriendly} />
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЪрдпрдирд┐рдд рдЪреЗрдХрдмреЙрдХреНрд╕ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЪреЗрдХ рдмреЙрдХреНрд╕рд╕рдЪ рд╣реИ, рдЕрдм рд╡рд╣ рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдзреНрд╡рдЬ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЗрд╕реА рдЪрд░ рдХреЗ рд▓рд┐рдП рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЬрдм рд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрдВ, рд░рд╛рдЬреНрдп рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рдкрд╛рддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ
true
рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛
true
, рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреА рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╣рдордиреЗ рдлрд╝реАрд▓реНрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ (
onChange
рдЗрд╡реЗрдВрдЯ
onChange
) рдФрд░ рдпрд╣ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рд╛рдВрддреНрд╡рдирд╛ рдЪреЗрддрд╛рд╡рдиреАрд╣рдо рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдзрд┐ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреЗ рдХреЛрдб рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
handleChange()
рд╡рд┐рдзрд┐ рд╣реИред рдЕрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдКрдкрд░ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рдзреНрд╡рдЬ рдХреЗ
onChange
рдИрд╡реЗрдВрдЯ
onChange
рд░реВрдк рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ рдФрд░ рдзреНрд╡рдЬ рдХреЛ рдПрдХ рдирд╛рдо рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ рдЬреЛ рдзреНрд╡рдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд░рд╛рдЬреНрдп рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо
label
рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдзреНрд╡рдЬ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░реЗрдВрдЧреЗ:
<label> <input type="checkbox" name="isFriendly" checked={this.state.isFriendly} onChange={this.handleChange} /> Is friendly? </label>
handleChange()
рд╡рд┐рдзрд┐ рдореЗрдВ, рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рддрддреНрд╡ (
name
) рдФрд░ рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА (
value
) рдХрд╛ рдирд╛рдо рдкрддрд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдордиреЗ рдпрд╣ рд▓рд┐рдЦрдХрд░ рд░рд╛рдЬреНрдп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдлрд╝реАрд▓реНрдб рд╣реИ рдЗрд╕рдХреА
value
рд╡рд┐рд╢реЗрд╖рддрд╛:
handleChange(event) { const {name, value} = event.target this.setState({ [name]: value }) }
рдЕрдм рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдЙрд╕ рдЭрдВрдбреЗ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ рдЬрд┐рд╕рдХрд╛ рдХреЛрдИ
value
рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓
checked
рдХреА
checked
рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓
true
рдпрд╛
false
рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреА рд╣реИред рдирддреАрдЬрддрди, рдПрдХ рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
handleChange()
рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣реИрдВрдбрд▓рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рдзреНрд╡рдЬ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕ рдЪреЗрдХ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдзреНрд╡рдЬ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ
input
рддрддреНрд╡ рдХрд╛ рдкреНрд░рдХрд╛рд░ (
type
)
checkbox
рд╕реЗрдЯ рд╣реИред рдЗрд╕ рдорд╛рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
event.target
рддрддреНрд╡ рдХреА
type
рдЧреБрдг рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ
event.target
, рд╕рд╛рде рд╣реА
checked
рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рд╕реЗ
event.target
:
const {name, value, type, checked} = event.target
рдЕрдм рд╣рдо
type
рдХреЗ рдорд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХрд┐рд╕ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реИ, рддреЛ рд╣рдо рд░рд╛рдЬреНрдп рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ рдХрд┐
checked
рдХрдВрдЯрд┐рдиреНрдпреВ рдореЗрдВ рдХреНрдпрд╛ рдирд┐рдХрд▓рд╛ред рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рди рднреВрд▓реЗрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк,
handleChange()
рдХреЛрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рд▓реЗрддрд╛ рд╣реИ:
handleChange(event) { const {name, value, type, checked} = event.target type === "checkbox" ? this.setState({ [name]: checked }) : this.setState({ [name]: value }) }
рдЙрд╕рдХреЗ рдмрд╛рдж, рдзреНрд╡рдЬ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
рдзреНрд╡рдЬ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдм рдЗрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдкрд╛рда рдлрд╝реАрд▓реНрдб рдХрд╛ рдХрд╛рдо рдЯреВрдЯрд╛ рдирд╣реАрдВ рд╣реИред рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реВрдЪрдирд╛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдЯреЗрдХреНрд╕реНрдЯ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрджрд▓реЗрдВ:
<textarea value={"Some default value"} onChange={this.handleChange} />
рдЗрд╕рд╕реЗ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдордиреЗ рдШрдЯрдХ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рддрдВрддреНрд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ (рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд░рд╛рдЬреНрдп рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛)ред рдЖрдк рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдпрдВ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рд╕реНрд╡рд┐рдЪ рдХреАред
рдЙрдиреНрд╣реЗрдВ
text
рдФрд░
checkbox
рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ
input
рддрддреНрд╡реЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕реНрд╡рд┐рдЪ рдореЗрдВ рдПрдХ
value
рд╡рд┐рд╢реЗрд╖рддрд╛ рдФрд░ рдПрдХ
checked
рд╡рд┐рд╢реЗрд╖рддрд╛ рджреЛрдиреЛрдВ рд╣реИред рдзреНрд╡рдЬ рд╡рд┐рд╡рд░рдг рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдирд╛ рдХреЛрдб рдмрдирд╛рддреЗ рд╣реБрдП, рд╣рдорд╛рд░реЗ рдлрд╝реЙрд░реНрдо рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝реЗред рдпрд╣рд╛рдБ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
<label> <input type="radio" name="gender" value="male" checked={this.state.isFriendly} onChange={this.handleChange} /> Male </label> <br /> <label> <input type="radio" name="gender" value="female" checked={this.state.isFriendly} onChange={this.handleChange} /> Female </label>
рд╣рдордиреЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдзреНрд╡рдЬ рд╡рд┐рд╡рд░рдг рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдФрд░ рдЕрднреА рднреА рдХреБрдЫ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕реНрд╡рд┐рдЪ рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЪреЗрдХрдмреЙрдХреНрд╕ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реИ, рддреЛ рджреЛрдиреЛрдВ рд╕реНрд╡рд┐рдЪ "рдмрдВрдж" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдЪреЗрдХрдмреЙрдХреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ "рдЪрд╛рд▓реВ" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рддрддреНрд╡ рдореМрдЬреВрджрд╛ рддрддреНрд╡реЛрдВ рдХреЗ рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рддрддреНрд╡ рдХреЛрдб рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЗрд▓рд╛рдЬ рдХрд░рдХреЗ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрди рджреЛ рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рд╣реА рдирд╛рдо рд╣реИ -
gender
ред рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реЗ рд╕реНрд╡рд┐рдЪ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛рддреЗ рд╣реИрдВред рдРрд╕реЗ рд╕рдореВрд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрд╡рд┐рдЪ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрд╡рд┐рдЪреЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдмрд╕ рдпрд╣ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рдХрд┐ рдЙрдирдХрд╛
checked
рдорд╛рди рд╕реЗрдЯ рд╣реИ, рдХрд╣реЛ рддреЛ
true
рдЕрдЧрд░ рдХреБрдЫ рд░рд╛рдЬреНрдп рд╕рдВрдкрддреНрддрд┐
true
ред рд╕реНрд╡рд┐рдЪреЗрд╕ рдХреЛ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд░рд╛рдЬреНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕реНрд╡рд┐рдЪреЗрд╕ рдХрд╛
checked
рдорд╛рди рд╢рд░реНрдд рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ
male
рдпрд╛
female
рд╕рд╛рде рдЗрд╕
this.state.gender
рдХреА рд░рд╛рдЬреНрдп рд╕рдВрдкрддреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдХреЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕реНрд╡рд┐рдЪ рд╡рд┐рд╡рд░рдг рдХреЛрдб рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
<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>
рдЕрдм рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐,
gender
, рд░рд╛рдЬреНрдп рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕реЗ рдПрдХ рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЖрд░рдореНрдн рдХрд░рддреЗ рд╣реБрдП:
this.state = { firstName: "", lastName: "", isFriendly: false, gender: "" }
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕реНрд╡рд┐рдЪ рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдХреЗ рд╣реЗрдбрд░ рджреНрд╡рд╛рд░рд╛ рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ рд╕реНрд╡рд┐рдЪ рдХреЗ рдЪрдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:
<h2><font color="#3AC1EF">You are a {this.state.gender}</font></h2>
рдпрд╣рд╛рдБ, рд╢рд╛рдпрдж, рдпрд╣ рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдХреБрдЫ рддрдВрддреНрд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдпрд╣ рддрдм рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЬрдм рдкреГрд╖реНрда рдХреЛ рдЦреЛрд▓рдиреЗ рдкрд░, рдЬрдм рдХреЛрдИ рднреА рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рдЪрдпрдирд┐рдд рди рд╣реЛ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐
You are a
рдЬрд┐рд╕ рдкрд╛рда рдкрд░ рд╣реИрдВ, рд╡рд╣ рдЙрд╕ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдПрдХ рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛ред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИрдпрд╣рд╛рдВ рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рднреА рдмрд╛рдд рдХреА, рд╡рд╣ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд▓рдЧ рд╕рдХрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рдВрд╕реНрдорд░рдг рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рддрд╛ рд╣реИред рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдлреЙрд░реНрдорд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд░реВрдкреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИред
рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рд▓рд┐рд╕реНрдЯ рдлреАрд▓реНрдбреНрд╕ рдХреАред
рд╕рд╛рдорд╛рдиреНрдп HTML рдореЗрдВ, рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
<select> <option></option> <option></option> <option></option> <select/>
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЗрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде,
value
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдо рдПрдХ рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрд╕рдХреЗ рдкрд╕рдВрджреАрджрд╛ рд░рдВрдЧ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рдирд┐рд░реНрдорд╛рдг рдХреЛ
select
рддрддреНрд╡ рдХреЗ
value
рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
value={this.state.favColor}
ред рдпрд╣ рдЙрди рдорд╛рдиреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред рдЕрдм рд░рд╛рдЬреНрдп рдореЗрдВ
favColor
рдЬреЛрдбрд╝реЗрдВ:
this.state = { firstName: "", lastName: "", isFriendly: false, gender: "", favColor: "blue" }
рдЕрдЧрд▓рд╛, рд╣рдо рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдХреЛ
onChange
рдЗрд╡реЗрдВрдЯ
onChange
рд▓реИрд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдирд╛рдо рджреЗрддреЗ рд╣реИрдВред рд╣рдо рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдХреЗ
options
рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рди рднреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ
options
рдФрд░ рдмреЙрдХреНрд╕ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдкрд╛рда рджрд░реНрдЬ рдХрд░реЗрдВрдЧреЗред
рдпрд╣рд╛рдБ рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдПрдХ
select
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛
select
рддрддреНрд╡ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
<label>Favorite Color:</label> <select value={this.state.favColor} onChange={this.handleChange} name="favColor" > <option value="blue">Blue</option> <option value="green">Green</option> <option value="red">Red</option> <option value="orange">Orange</option> <option value="yellow">Yellow</option> </select>
рдЕрдм рдЙрд╕ рдлреЙрд░реНрдо рдореЗрдВ рдПрдХ рдФрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╕рдВрджреАрджрд╛ рд░рдВрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:
<h2><font color="#3AC1EF">Your favorite color is {this.state.favColor}</font></h2>
рдпрд╣ рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдорд╛рд░рд╛ рд░реВрдк рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдкрд░рд┐рд╖реНрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЪрдордХрддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рд▓рдЧрд╛рдП рдЧрдП рдирд┐рдпрдВрддреНрд░рдг рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рд░рд┐рдПрдХреНрдЯ рдирд┐рдпрдВрддреНрд░рдг рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЙрдирдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рд╣реИред рд╣рдорд╛рд░реЗ
handleChange()
рд╣реИрдВрдбрд▓рд░ рдХреА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдлреНрд▓реИрдЧ рдЗрд╡реЗрдВрдЯреНрд╕ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рд╣реИрдВрдбрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдлреЙрд░реНрдо рдЬрдорд╛ рдХрд░рдиреЗ рдпрд╛ рдЙрд╕рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрд╕рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдлреЙрд░реНрдо рдПрдХ рдмрдЯрди рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
<button>Submit</button>
HTML5 рдореЗрдВ, рдпрджрд┐ рдПрдХ
button
рддрддреНрд╡ рдлреЙрд░реНрдо рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЯрд╛рдЗрдк
submit
рдкреБрд░рд╛рдиреЗ
input
рддрддреНрд╡ рдХреА рддрд░рд╣ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ
onSubmit
рдлреЙрд░реНрдо рдХреА рдПрдХ рдШрдЯрдирд╛ рд╕реНрд╡рдпрдВ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдЖрдкрдХреЛ рдлрд╝реЙрд░реНрдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ рдЖрдк
onClick
рдИрд╡реЗрдВрдЯ
onClick
рдХреЛ рдмрдЯрди рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдИрд╡реЗрдВрдЯреНрд╕ рдХреЛ
onSubmit
рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдХреЗ рдлрд╝реЙрд░реНрдо рд╕реНрддрд░ рдкрд░ рд╣реИрдВрдбрд▓ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛
onSubmit
:
<form onSubmit={this.handleSubmit}>
рдЗрд╕ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рдЕрднреА рддрдХ рдирд╣реАрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд╣реИ, рдЬреЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрдкреАрдЖрдИ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рдмрд╛рдд рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓реА рдмрд╛рд░ рдЖрдкрдХреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рдо рдорд┐рд▓реЗрдЧрд╛ред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдпрджрд┐ рдЖрдкрдиреЗ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рдлреЙрд░реНрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдорд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВред
