рд░рд┐рдПрдХреНрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рднрд╛рдЧ 10: рдШрдЯрдХ рдЧреБрдгреЛрдВ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛

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

рдЫрд╡рд┐

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

рдкрд╛рда 20. рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ред рдШрдЯрдХ рдЧреБрдг, рд╕реНрдЯрд╛рдЗрд▓


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

тЦНZadanie


  1. рдПрдХ рдирдпрд╛ рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред
  2. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреГрд╖реНрда рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдШрдЯрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  3. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдШрдЯрдХ рдХреЛ рдЪреБрдЯрдХреБрд▓реЗ рд╡рд╛рд▓реЗ 5 Joke рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдмрд╛рд╣рд░ рд▓рд╛рдПрдБред
  4. рдкреНрд░рддреНрдпреЗрдХ Joke рдШрдЯрдХ рдХреЛ рдЕрдкрдиреЗ рдореБрдЦреНрдп рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЗ рд▓рд┐рдП, рдордЬрд╛рдХ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдФрд░ punchLine рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП question рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

тЦНрдЖрдзрд╛рд░ рдХрд╛рд░реНрдп


рдХреБрдЫ рдЪреБрдЯрдХреБрд▓реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдиреЗ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: "рдХреНрд▓реЗрдкреНрдЯреЛрдореИрдирд┐рдпрд╛рдХ рдХреЛ рджрдВрдбреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╣рдореЗрд╢рд╛ рдЪреАрдЬреЛрдВ рдХреЛ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рд▓реЗрддреЗ рд╣реИрдВред" рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ question рдШрдЯрдХ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ Joke рдШрдЯрдХ рдХреЗрд╡рд▓ punchLine рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред

тЦНReshenie


рдореБрдЦреНрдп рдХрд╛рд░реНрдп


index.js рдлрд╝рд╛рдЗрд▓ рдХрд╛рдлреА рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдЧреА:

 import React from "react" import ReactDOM from "react-dom" import App from "./App" ReactDOM.render(<App />,   document.getElementById("root")) 

рдпрд╣рд╛рдБ App.js рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ:

 import React from "react" import Joke from "./Joke" function App() {   return (       <div>           <Joke               question="What's the best thing about Switzerland?"               punchLine="I don't know, but the flag is a big plus!"           />                     <Joke               question="Did you hear about the mathematician who's afraid of negative numbers?"               punchLine="He'll stop at nothing to avoid them!"           />                     <Joke               question="Hear about the new restaurant called Karma?"               punchLine="There's no menu: You get what you deserve."           />                     <Joke               question="Did you hear about the actor who fell through the floorboards?"               punchLine="He was just going through a stage."           />                     <Joke               question="Did you hear about the claustrophobic astronaut?"               punchLine="He just needed a little space."           />                 </div>   ) } export default App 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЪреВрдВрдХрд┐ Joke рдШрдЯрдХ рдлрд╝рд╛рдЗрд▓ App рдШрдЯрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ import Joke from "./Joke" рд╕рд╛рде рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо App рд╕реЗ рдХрдИ рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЯреИрдЧ рдореЗрдВ рд╕рднреА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <div> ред рдШрдЯрдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо question рдФрд░ punchLine рдкрд╛рд╕ рдХрд░рддреЗ punchLine ред

рдпрд╣рд╛рдБ Joke.js рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ:

 import React from "react" function Joke(props) {   return (       <div>           <h3>Question: {props.question}</h3>           <h3>Answer: {props.punchLine}</h3>           <hr/>       </div>   ) } export default Joke 

рдпрд╣рд╛рдВ, Joke рдлрд╝рдВрдХреНрд╢рди рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп, рд╣рдо props рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрдорд░рдг рдХрд░реЛ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдирд╛рдо рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд╛рдкрд┐рдд рдкрд░рдВрдкрд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ props рдХреЙрд▓ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рд╣рдо рдШрдЯрдХ рд╕реЗ рдХрдИ рддрддреНрд╡реЛрдВ рдХреЛ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ - рдЗрд╕рд▓рд┐рдП рд╡реЗ <div> рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реИрдВред props.question рдФрд░ props.punchLine рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП props.punchLine рд╣рдо рдШрдЯрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпреЗ рдЧреБрдг props рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдг рдмрди рдЬрд╛рддреЗ рд╣реИрдВред рд╡реЗ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реИрдВ рдХрд┐ JSX рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рд╕рд┐рд╕реНрдЯрдо рдЪрд░ рдирд╛рдореЛрдВ рдХреЛ рд╕рд╛рджреЗ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред <h3> рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рдмрд╛рдж, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЪреБрдЯрдХреБрд▓реЗ рдХрд╛ рдореБрдЦреНрдп рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ - рдЗрд╕рдХрд╛ рдкреНрд░рдореБрдЦ рд╡рд╛рдХреНрдпрд╛рдВрд╢, <hr/> рддрддреНрд╡ рд╣реИ рдЬреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реЗрдЦрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдордЬрд╛рдХ рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реБрдП рдРрд╕реА рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдВрдЧреАред

рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ VSCode рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред


VSCode рдореЗрдВ рдЖрд╡реЗрджрди

рдпрд╣рд╛рдБ рдЖрд╡реЗрджрди рдкреГрд╖реНрда рд╣реИред


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

рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп


рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдЪреБрдЯрдХреБрд▓реЛрдВ рдХреЗ рд╕рд╣реА рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ Joke рдШрдЯрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╕рдордп, рдХреЗрд╡рд▓ punchLine рд╕рдВрдкрддреНрддрд┐ punchLine , рдФрд░ question рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдШрдЯрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 <Joke   punchLine="It's hard to explain puns to kleptomaniacs because they always take things literally." /> 

рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ App рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдХреЛрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрд╡реЗрджрди рдкреГрд╖реНрда рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред


рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдЧрдард┐рдд рдЖрд╡реЗрджрди рдкреГрд╖реНрда

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐ question рд╕рдВрдкрддреНрддрд┐ рдШрдЯрдХ рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдордЬрд╛рдХ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдХреБрдЫ рднреА рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╣рдо рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЖрдк рд╣рдорд╛рд░реА рдЬреИрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмреАрдЪ, рд╣рдо рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдЗрд╕реЗ рдмрдирд╛рдПрдВрдЧреЗ рддрд╛рдХрд┐ рдпрджрд┐ question рд╕рдВрдкрддреНрддрд┐ рдШрдЯрдХ рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ question рдЧрдП JSX рдорд╛рд░реНрдХрдЕрдк рдХрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдЯреБрдХрдбрд╝рд╛ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ Joke рдХрдВрдкреЛрдиреЗрдВрдЯ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ:

 import React from "react" function Joke(props) {   return (       <div>           <h3 style={{display: props.question ? "block" : "none"}}>Question: {props.question}</h3>           <h3>Answer: {props.punchLine}</h3>           <hr/>       </div>   ) } export default Joke 

рд╣рдо рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ <h3> рд╢реИрд▓реА, рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ props.question рдкреНрд░реЙрдкрд░реНрдЯреА рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдШрдЯрдХ рдХреА рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛ рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдпрд╣ рдЧреБрдг рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реИ, рддреЛ рддрддреНрд╡ display: block рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ display: block рд╢реИрд▓реА рдХреЛ display: block рдФрд░ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдпрджрд┐ рдирд╣реАрдВ, рддреЛ display: none рдФрд░ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рд╣реЛрдЧрд╛:

 <h3 style={{display: !props.question && "none"}}>Question: {props.question}</h3> 

рдпрд╣рд╛рдБ, display: none рд╢реИрд▓реА рддрддреНрд╡ рдХреЛ рдирд╣реАрдВ рджреА рдЧрдИ рд╣реИ рдпрджрд┐ props рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ question рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рдЕрдиреНрдпрдерд╛ display рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЬреИрд╕рд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред


рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдЪрд┐рдд рдШрдЯрдХ рдЬрд┐рд╕рд╕реЗ рдкреНрд░рд╢реНрди рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Joke рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдЧрдард┐рдд рд╕рднреА рддрддреНрд╡ рд╕рдорд╛рди рджрд┐рдЦрддреЗ рд╣реИрдВред рдЪрд▓реЛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЙрди рд▓реЛрдЧреЛрдВ рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ рдХреЗрд╡рд▓ punchLine рд╕рдВрдкрддреНрддрд┐ рд╕реЗ punchLine рд╣реИрдВред рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╢реИрд▓рд┐рдпреЛрдВ рдФрд░ рдЙрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреА рд╣рдордиреЗ рдКрдкрд░ рдЬрд╛рдВрдЪ рдХреА рдереАред рдпрд╣рд╛рдБ Joke рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХреЛрдб рд╣реИ:

 import React from "react" function Joke(props) {   return (       <div>           <h3 style={{display: !props.question && "none"}}>Question: {props.question}</h3>           <h3 style={{color: !props.question && "#888888"}}>Answer: {props.punchLine}</h3>           <hr/>       </div>   ) } export default Joke 

рдФрд░ рдпрд╣рд╛рдВ рд╡рд╣ рд╣реИ рдЬреЛ рдЕрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред


рдРрд╕реА рд╡рд╕реНрддреБ рдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдирд╛ рдЬреЛ рджреВрд╕рд░реЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ

рдЕрдм рд╣рдордиреЗ Joke рдШрдЯрдХ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдмрд╣реБрдореБрдЦреА рдФрд░ рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред

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


рдЗрд╕ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╛рда рдореЗрдВ, рд╣рдо рдЧреБрдгреЛрдВ рдХреЛ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреМрд╢рд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рдереЗред рдпрджрд┐ рдЖрдк рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрдИ рд╕рдорд╛рди рдорд╛рд░реНрдХрдЕрдк рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ JSX рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЕрдЧрд▓реЗ рдкрд╛рда рдореЗрдВ, рд╣рдо рдорд╛рд░реНрдХрдЕрдк рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реБрдП рдорд╛рдирдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕реЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдпрджрд┐ рдЗрд╕ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдПрдХ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВред

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


All Articles