рд░рд┐рдПрдХреНрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рднрд╛рдЧ 14: рдХрдХреНрд╖рд╛-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ, рдШрдЯрдХ рд╕реНрдерд┐рддрд┐ рдкрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛

рд░рд┐рдПрдХреНрдЯ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХрдХреНрд╖рд╛-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдШрдЯрдХреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдПрдХреНрдЯ рдХреА рдРрд╕реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред

рдЫрд╡рд┐

тЖТ рднрд╛рдЧ 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: рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░рд┐рдпреЛрдЬрдирд╛

рдкрд╛рда 25. рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ред рдХрдХреНрд╖рд╛ рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХ


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

тЦНZadanie


рдиреАрдЪреЗ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ create-react-app рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдПрдХ рдорд╛рдирдХ рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ index.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдХреЛрдб рдореЗрдВ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХреЛрдВ рдХреЛ рд╡рд░реНрдЧ-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЫреЛрдЯреЗ рдмрдЧ рдХреЛ рдвреВрдВрдвреЗрдВ рдФрд░ рдареАрдХ рдХрд░реЗрдВред

index.js рдлрд╝рд╛рдЗрд▓ index.js рдХреЛрдб index.js :

 import React from "react" import ReactDOM from "react-dom" // #1 function App() {   return (       <div>           <Header />           <Greeting />       </div>   ) } // #2 function Header(props) {   return (       <header>           <p>Welcome, {props.username}!</p>       </header>   ) } // #3 function Greeting() {   const date = new Date()   const hours = date.getHours()   let timeOfDay     if (hours < 12) {       timeOfDay = "morning"   } else if (hours >= 12 && hours < 17) {       timeOfDay = "afternoon"   } else {       timeOfDay = "night"   }   return (       <h1>Good {timeOfDay} to you, sir or madam!</h1>   ) } ReactDOM.render(<App />, document.getElementById("root")) 

тЦНReshenie


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЦреБрд▓рдиреЗ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрдиреЗ рдореВрд▓ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрд░реЛрдд рдкреГрд╖реНрда

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

рдпрджрд┐ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ Header рдШрдЯрдХ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ username рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╕рдордп рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдШрдЯрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг App рдШрдЯрдХ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдореЗрдВ рдмрддрд╛рдИ рдЧрдИ рдмрд╣реБрдд рдЧрд▓рддреА рдХреЛ рдареАрдХ рдХрд░ рдкрд╛рдПрдВрдЧреЗред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдШрдЯрдХреЛрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдордиреЗ рдЙрди рд╕рднреА рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ред

рд╣рдо рдХреНрд▓рд╛рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ App рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХреЛ рдПрдХ рдШрдЯрдХ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рдлреЙрд░реНрдо рдореЗрдВ рдЕрдкрдирд╛ рдХреЛрдб рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:

 class App extends React.Component {   render() {       return (           <div>               <Header username="vschool"/>               <Greeting />           </div>       )   } } 

рдЕрдм class рдХреАрд╡рд░реНрдб рдШрдЯрдХ рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ рдЖрддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж extends React.Component рдХрд╛ extends React.Component , рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдХреНрд▓рд╛рд╕ рдХреЗ рд╢рд░реАрд░ рдХреЛ рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣рд╛рдБ рдПрдХ render() рд╡рд┐рдзрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╣рдо рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рд╕реЗ рд▓реМрдЯ рдЖрдПред рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред <Header username="vschool"/> рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣рд╛рдВ рд╣рдо username рд╕рдВрдкрддреНрддрд┐ vschool Header рдШрдЯрдХ рдХреЗ vschool рдХреЗ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдореВрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ, Header рдШрдЯрдХ рдХреЛ username рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдореЗрдВ, рдпрд╣ рд╕рдВрдкрддреНрддрд┐ props.username рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕реЗрд╕ рдХреА props.username (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ props рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рддрд░реНрдХ рд╣реИ рдЬреЛ рдШрдЯрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ)ред рдХреНрд▓рд╛рд╕-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ рдореЗрдВ, рдпрд╣ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣рд╛рдБ Header рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдкреБрди: рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рд╣реИ:

 class Header extends React.Component {   render() {       return (           <header>               <p>Welcome, {this.props.username}!</p>           </header>       )   } } 

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

 class Greeting extends Component {   render() {       const date = new Date()       const hours = date.getHours()       let timeOfDay             if (hours < 12) {           timeOfDay = "morning"       } else if (hours >= 12 && hours < 17) {           timeOfDay = "afternoon"       } else {           timeOfDay = "night"       }       return (           <h1>Good {timeOfDay} to you, sir or madam!</h1>       )   } } 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдШрдЯрдХ рдХреА рдШреЛрд╖рдгрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: class Greeting extends Component ред рдпрд╣ рдЕрдХреНрд╕рд░ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЖрдпрд╛рдд рдХрдорд╛рдВрдб react рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдЗрд╕ рд░реВрдк рдореЗрдВ рд▓рд╛рдПрдВ:

 import React, {Component} from "react" 

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреБрдирд░реНрдирд╡реАрдиреАрдХрд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреГрд╖реНрда рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреБрди: рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреГрд╖реНрда

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдореВрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреГрд╖реНрда рдХреЗ рд╕рдорд╛рди рд╣реА рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдЗрди рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмреАрдЪ рдПрдХрдорд╛рддреНрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ Header рдШрдЯрдХ рдХреЛ рдкрд╛рд░рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдЕрдм рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЧрдП index.js рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 import React, {Component} from "react" import ReactDOM from "react-dom" // #1 class App extends React.Component {   render() {       return (           <div>               <Header username="vschool"/>               <Greeting />           </div>       )   } } // #2 class Header extends React.Component {   render() {       return (           <header>               <p>Welcome, {this.props.username}!</p>           </header>       )   } } // #3 class Greeting extends Component {   render() {       const date = new Date()       const hours = date.getHours()       let timeOfDay             if (hours < 12) {           timeOfDay = "morning"       } else if (hours >= 12 && hours < 17) {           timeOfDay = "afternoon"       } else {           timeOfDay = "night"       }       return (           <h1>Good {timeOfDay} to you, sir or madam!</h1>       )   } } ReactDOM.render(<App />, document.getElementById("root")) 

рдпрджрд┐ рдЗрд╕ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЖрдкрдХреЛ рдХреЛрдИ рдХрдард┐рдирд╛рдИ рдирд╣реАрдВ рд╣реБрдИ - рдорд╣рд╛рдиред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреНрд▓рд╛рд╕-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХреЛрдВ рдореЗрдВ рд░реАрдореЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрд▓рдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд╛рда 26. рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐


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

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

рдПрдХ рд░рд╛рдЬреНрдп рд╕рд┐рд░реНрдл рдбреЗрдЯрд╛ рд╣реИ рдЬреЛ рдШрдЯрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдШрдЯрдХ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЧреБрдг рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдореВрд▓ рдШрдЯрдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдкреНрд░рд╛рдкреНрдд рдШрдЯрдХ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ, рд░рд┐рдПрдХреНрдЯ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп (рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп) рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдПрдХ рд╡рд░реНрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХ рдореЗрдВ, this.props.name = "NoName" рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред this.props.name = "NoName" , рддреЛ рд╣рдо рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред

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

 import React from "react" class App extends React.Component {   render() {       return (           <div>               <h1>Is state important to know?</h1>           </div>       )   } } export default App 

рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреГрд╖реНрда рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИред


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬ

рдПрдХ рдШрдЯрдХ рдХреЛ рд░рд╛рдЬреНрдп рд╕реЗ рд▓реИрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдПрдХ рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ constructor() рд╡рд░реНрдЧ рд╡рд┐рдзрд┐ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдШрдЯрдХ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 class App extends React.Component {   constructor() {         }     render() {       return (           <div>               <h1>Is state important to know?</h1>           </div>       )   } } Constructor() 

рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдХреБрдЫ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ constructor() рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдСрдкрд░реЗрд╢рди рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

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

 constructor() {   super() } 

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

 constructor() {   super()   this.state = {} } 

рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЗрд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЖрдк рдЗрд╕ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШрдЯрдХ рдХреЛрдб рдореЗрдВ рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░рд╛рдЬреНрдп рдореЗрдВ рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:

 constructor() {   super()   this.state = {       answer: "Yes"   } } 

рдЕрдм рдЖрдЗрдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ рдХреЛрдб рдореЗрдВ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдШрдЯрдХ рдкреНрд░рд╢реНрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ Is state important to know? ред рд░рд╛рдЬреНрдп рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╢реНрди рдХреЗ рдмрд╛рдж рдЗрд╕ рдЙрддреНрддрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡реИрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЖрдорддреМрд░ рдкрд░ JSX рдХреЛрдб рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХрд░рддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рдореЗрдВ {this.state.answer} рдирд┐рд░реНрдорд╛рдг рдЬреЛрдбрд╝реЗрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреВрд░реНрдг рдШрдЯрдХ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

 class App extends React.Component {   constructor() {       super()       this.state = {           answer: "Yes"       }   }     render() {       return (           <div>               <h1>Is state important to know? {this.state.answer}</h1>           </div>       )   } } 

рдФрд░ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреГрд╖реНрда рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬ

рдпрд╣рд╛рдВ рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдкреНрд░рд╛рд░рдВрдн рдХреЗ рджреМрд░рд╛рди рдШрдЯрдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд░рд╛рдЬреНрдп рдХреЛ рдШрдЯрдХ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШрдЯрдХ рдЙрди рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ ChildComponent рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдШрдЯрдХ рд╣реИ, рддреЛ рд░рд╛рдЬреНрдп рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 <ChildComponent answer={this.state.answer}/> 

рдЬрдмрдХрд┐ рд╣рдо рдШрдЯрдХ рдХреЗ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рдмрджрд▓рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдХреЗрд╡рд▓ рдпрд╣ рдиреЛрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдЖрдк setState() рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рди рдХреЗрд╡рд▓ рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдмрд▓реНрдХрд┐ рд╕рдВрдкрддреНрддрд┐ рддрдВрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕рдХреЗ рдмрд╛рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рд░рд╛рдЬреНрдп рдбреЗрдЯрд╛ рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд░рд╛рдЬреНрдп рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд░рд╛рдЬреНрдп рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред

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


рдЖрдЬ рдЖрдкрдХреЛ рд╡рд░реНрдЧ-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШрдЯрдХ рд╕реНрдерд┐рддрд┐ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкрд░рд┐рдЪрдп рдпрд╣рд╛рдВ рд╢реБрд░реВ рд╣реБрдЖред рдЕрдЧрд▓реА рдмрд╛рд░, рдЖрдк рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдп рдкрд╛рдПрдВрдЧреЗред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдпрджрд┐ рдЖрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдШрдЯрдХреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдорд╛рдирдХ рд░рд┐рдПрдХреНрдЯ рдЯреВрд▓ рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

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


All Articles