рдЖрдЬ, рд░рд┐рдПрдХреНрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ, рд╣рдо рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

тЖТ
рднрд╛рдЧ 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: рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдкрд╛рда 36. рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди, рднрд╛рдЧ 1
тЖТ
рдореВрд▓рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХреБрдЫ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рдВрджреЗрд╢ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП (рдпрд╣ рд▓реЛрдбрд┐рдВрдЧ рд╕реНрдХреНрд░реАрди рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИ) рдЬрдмрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдХреИрд╕реЗ рдмрджрд▓рдирд╛ рд╣реИ рдпрд╣ рд╕рдВрджреЗрд╢ рдХреБрдЫ рдФрд░ рдХреЗ рд▓рд┐рдП рд╣реИред
рдЖрдЬ рд╣рдо
App.js
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ, рдХреНрд░рд┐рдПрдЯ-рд░рд┐рдПрдХреНрд╢рди-рдРрдк рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
import React, {Component} from "react" import Conditional from "./Conditional" class App extends Component { constructor() { super() this.state = { isLoading: true } } componentDidMount() { setTimeout(() => { this.setState({ isLoading: false }) }, 1500) } render() { return ( <div> <Conditional isLoading={this.state.isLoading}/> </div> ) } } export default App
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╣рд╛рдВ
App.js
рдлрд╝рд╛рдЗрд▓
App.js
, рд╡рд╣рд╛рдБ рдПрдХ
Conditional.js
рдШрдЯрдХ рдлрд╝рд╛рдЗрд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рд╣реИ:
import React from "react" function Conditional(props) { return ( ) } export default Conditional
рдХрд╛рдо рдХреЗ рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрднреА рддрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗред
рд░рд┐рдПрдХреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рдордиреЗ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрдИ рдЙрдкрдХрд░рдг рд╕реАрдЦрдиреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рддрд░реАрдХреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИ рдХрд┐ рд░рд┐рдПрдХреНрдЯ рд╡рд┐рдХрд╛рд╕ рд╕рд╛рджреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмреЗрд╣рдж рдХрд░реАрдм рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рд╣реА рдЙрдкрдХрд░рдг рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд╣ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрд░реНрдпреБрдХреНрдд рд╡рд┐рдЪрд╛рд░ рд╕реНрд╡рдпрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджреГрдврд╝рддрд╛ рд╕реЗ рдкреНрд░рдХрдЯ рдХрд░рддреЗ рд╣реИрдВред рджрд░рдЕрд╕рд▓, рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдЙрдирдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВред
рдЕрдм рдЙрд╕ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдЕрдм рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╣рдо,
App.js
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд╡рд░реНрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдШрдЯрдХ рд╣реИред рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдиреЗ рдПрдХ рд░рд╛рдЬреНрдп рдХреЛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ
isLoading
рд╕рдВрдкрддреНрддрд┐
true
ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдШрдЯрдХ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрдкреАрдЖрдИ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЬрдмрдХрд┐ рдШрдЯрдХ рдбреЗрдЯрд╛ рдХреЗ рдЖрдиреЗ рдФрд░ рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреБрдЫ рдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ 3-4 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рд╕реНрдХреНрд░реАрди рдкрд░ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рдирд╣реАрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдирддреАрдЬрддрди, рд░рд╛рдЬреНрдп рдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрд╡реЗрджрди рдХреБрдЫ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣рд╛ рд╣реИред рдФрд░ рд╕рд╢рд░реНрдд рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдРрд╕рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХреБрдЫ рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИред
App
рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛрдб рдореЗрдВ рдПрдХ
componentDidMount()
рд╡рд┐рдзрд┐ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдмрд╣реБрдд рдЬрд▓реНрдж рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдмреАрдЪ, рдЖрдЗрдП
render()
рд╡рд┐рдзрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣рд╛рдВ рд╣рдо
Condition
рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐
App.js
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реНрдерд┐рдд рдХреЛрдб рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдШрдЯрдХ рдХреЛ рдЗрд╕ рдШрдЯрдХ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ
App
рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ
isLoading
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рд╣реИред
Conditional
рдШрдЯрдХ рдХрд╛ рдХреЛрдб рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рдЗрд╕ рдШрдЯрдХ рд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдирд┐рдкрдЯреЗрдВрдЧреЗред рдЗрд╕ рдмреАрдЪ, рдЖрдЗрдП рд╡рд╛рдкрд╕
App
рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛрдб рд╕реЗ
componentDidMount()
рд╡рд┐рдзрд┐ рдкрд░ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐
componentDidMount()
рд╡рд┐рдзрд┐ рд╣рдореЗрдВ рдШрдЯрдХ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХреБрдЫ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣
App
рдШрдЯрдХ рд╣реИ, рдкрд╣рд▓реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдХреЛрдб рдореЗрдВ, рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреАрд▓ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдордиреЗ рдбреЗрдврд╝ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдорд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ред рдЬрдм рдпрд╣ рд╕рдордп рдмреАрдд рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
setTimeout()
рдкрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЛрдб рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐ рдЗрд╕рдХреА рдХреЙрд▓ рдПрдкреАрдЖрдИ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдЕрдВрдд рдХрд╛ рдкреНрд░рддреАрдХ рд╣реИ, рдПрдХ рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЕрдкрдиреА
isLoading
рд╕рдВрдкрддреНрддрд┐ рдХреЛ
false
рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛
false
ред рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ, рд╣рдо рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
fetch()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЕрдм рд╣рдо рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЙрдкрд░реЛрдХреНрдд рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдЦреБрдж рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рд▓реЗрдВрдЧреЗред
рд╡реИрд╕реЗ, рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╣рд╛рдВ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА
isLoading
рд░рд╛рдЬреНрдп рд╕рдВрдкрддреНрддрд┐
true
рд╕реЗ
false
рдмрджрд▓рддреА рд╣реИ,
Conditional
рдШрдЯрдХ рдХреЛ рдПрдХ рдирдпрд╛ рдЧреБрдг рдорд╛рди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрд╣рд▓реА рдмрд╛рд░ рдШрдЯрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣
isLoading
рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ,
true
, рдФрд░ рдлрд┐рд░, рд░рд╛рдЬреНрдп рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдирдП рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ
render()
рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк,
Conditional
рдШрдЯрдХ рднреА рдлрд┐рд░ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕реНрдорд░рдг рдХрд░реЛ рдХрд┐
Conditional
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдЗрд╕рдХреЗ рдкреБрди: рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛ рдЕрд░реНрде рд╣реИ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдХреЙрд▓ рдХрд░рдирд╛ рдЬрд┐рд╕реЗ рд╡рд╣ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╣рдо рдкреБрди: рд░реЗрдВрдбрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд╣рдо рдХреНрдпрд╛ рд╡рд╛рдкрд╕реА рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЙрд╕ рдЪреАрдЬрд╝ рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╡рд╛рдкрд╕ рдХреА рдЧрдИ рдереАред рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдХрд╛рд░рдг рдШрдЯрдХ рдореЗрдВ рд╣рдо рдЬреЛ рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИред
рддреЛ,
Conditional
рдШрдЯрдХ
isLoading
рдЧреБрдг рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдХреЛрдб рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рд╣рдо рдпрд╣ рдЬрд╛рдВрдЪреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдЙрди рддрдВрддреНрд░реЛрдВ рдореЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдШрдЯрдХ рд╕реЗ рдХреБрдЫ рдорд╛рд░реНрдХрдЕрдк
props.isLoading
рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдорд╛рди
props.isLoading
рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЙрд╕рдХреЗ рдмрд╛рдж, рдШрдЯрдХ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
import React from "react" function Conditional(props) { console.log(props.isLoading) return ( <h1>Temp</h1> ) } export default Conditional
рдЙрд╕рдХреЗ рдмрд╛рдж рдХрд╛ рдЖрд╡реЗрджрди рдкреГрд╖реНрда рдирд┐рдореНрди рдЖрдХреГрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬрдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ 1.5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж -
false
ред рдпрд╣
App
рдШрдЯрдХ рдХреЗ
App
componentDidMount()
рд╡рд┐рдзрд┐ рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рддрдВрддреНрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдХрд╛рд░рдг рд╣реИред
рдЕрдм рдЪрд▓реЛ рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдЗрд╕ рддрдереНрдп рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдХрд┐ рд╣рдо рд╕реНрдХреНрд░реАрди рдкрд░ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдкреВрд░реА рд╣реЛрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреГрд╖реНрда рдкрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ
Temp
рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо,
Conditional
рдШрдЯрдХ рдореЗрдВ,
props.isLoading
рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдпрд╣
true
, рддреЛ рдкреГрд╖реНрда рдкрд░
Loading...
рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рдпрд╣ рдорд╛рди
false
, рдЬреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рдЕрдВрдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдШрдЯрдХ рд╕реЗ рдХреБрдЫ рдЕрдиреНрдп рдкрд╛рда рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
import React from "react" function Conditional(props) { if(props.isLoading === true) { return ( <h1>Loading...</h1> ) } else { return ( <h1>Some cool stuff about conditional rendering</h1> ) } } export default Conditional
рдЗрд╕ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдШрд░ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдкреГрд╖реНрда рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ, рдЬрдм рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж - рджреВрд╕рд░рд╛ред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕рд░рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
import React from "react" function Conditional(props) { if(props.isLoading === true) { return ( <h1>Loading...</h1> ) } return ( <h1>Some cool stuff about conditional rendering</h1> ) } export default Conditional
рдпрджрд┐ рдЖрдИ рдмреНрд▓реЙрдХ рдореЗрдВ рдЬрд╛рдВрдЪ рдХреА рдЧрдИ рд╕реНрдерд┐рддрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдЗрд╕ рдмреНрд▓реЙрдХ рдореЗрдВ
return
рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдлрд╝рдВрдХреНрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рд╕реНрдерд┐рддрд┐ рдЧрд▓рдд рд╣реИ, рддреЛ рдЗрд╕ рдмреНрд▓реЙрдХ рд╕реЗ
return
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рд░рд┐рдЯрд░реНрди рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рджреВрд╕рд░реЗ
return
рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред
рдЕрдм рдЖрдЗрдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк
рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдирд┐рд░реНрдорд╛рдг рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдЕрднрд┐рдХрд░реНрдордХ рдореЗрдВ рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
? 1 : 2
рдпрджрд┐ рд╕реНрдерд┐рддрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 1 рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рд╕реНрдерд┐рддрд┐ рдЭреВрдареА рд╣реИ, рддреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 2 рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП,
Conditional
рдШрдЯрдХ рдХрд╛ рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
import React from "react" function Conditional(props) { return ( props.isLoading === true ? <h1>Loading...</h1> : <h1>Some cool stuff about conditional rendering</h1> ) } export default Conditional
рдпрд╣ рдбрд┐рдЬрд╛рдЗрди, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрд╕рд╛рдорд╛рдиреНрдп рджрд┐рдЦрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдорддреМрд░ рдкрд░ рдШрдЯрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбрд┐рдЬрд╛рдЗрди рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ рд╕рднреА
<div>
рддрддреНрд╡ рдореЗрдВ рд▓рдкреЗрдЯреЗрдВ:
import React from "react" function Conditional(props) { return ( <div> props.isLoading === true ? <h1>Loading...</h1> : <h1>Some cool stuff about conditional rendering</h1> </div> ) } export default Conditional
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рднреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдм рд╡реИрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдЗрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдм рдХреБрдЫ рдЬреЛ
<div>l;
рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реИ
<div>l;
ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рдШрдЯрдХреЛрдВ рд╕реЗ рд▓реМрдЯрд╛рдП рдЧрдП рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЬреЗрдПрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
import React from "react" function Conditional(props) { return ( <div> {props.isLoading === true ? <h1>Loading...</h1> : <h1>Some cool stuff about conditional rendering</h1>} </div> ) } export default Conditional
рдЕрдм рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдШрдЯрдХ рдореЗрдВ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рд░реНрдХрдЕрдк рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдШрдЯрдХ рдЬреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЙрд╕рдХреЗ рдКрдкрд░реА рднрд╛рдЧ рдореЗрдВ, рдПрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкреГрд╖реНрда рдХрд╛ "рдкрд╛рдж" рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ:
import React from "react" function Conditional(props) { return ( <div> <h1>Navbar</h1> {props.isLoading === true ? <h1>Loading...</h1> : <h1>Some cool stuff about conditional rendering</h1>} <h1>Footer</h1> </div> ) } export default Conditional
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрддрд┐рд░рд┐рдХреНрдд рддрддреНрд╡реЛрдВ рдХреЗ рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрди рддрддреНрд╡реЛрдВ рдХреЛ рджреЛрдиреЛрдВ рддрдм рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм
props.isLoading
true
, рдФрд░ рдЬрдм рдпрд╣ рд╕рдВрдкрддреНрддрд┐
false
ред
рдПрдХ рдФрд░ рд╕реБрдзрд╛рд░ рдЬреЛ рдЗрд╕ рдХреЛрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐, рдЪреВрдВрдХрд┐
props.isLoading
рдПрдХ рдмреВрд▓рд┐рдпрди рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬреЛ рдореВрд▓реНрдп рдХреЛ
true
рдпрд╛
false
props.isLoading
рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ
true
рд╕рд╛рде рд╕рдЦреНрдд рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
true
ред рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
import React from "react" function Conditional(props) { return ( <div> <h1>Navbar</h1> {props.isLoading ? <h1>Loading...</h1> : <h1>Some cool stuff about conditional rendering</h1>} <h1>Footer</h1> </div> ) } export default Conditional
рдЕрдм рд╣рдо рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдорддреМрд░ рдкрд░ рд╣рдорд╛рд░реЗ, рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреИрдирд▓ рдФрд░ рдкреГрд╖реНрда рдкрд╛рдж рдЬреИрд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреЗрдЬ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдЖрдорддреМрд░ рдкрд░ рдпрд╛ рддреЛ
App
рдХрдВрдкреЛрдиреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рд╣реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╛
App
рдХрдВрдкреЛрдиреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╡рд┐рд╢реЗрд╖ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣рд╛рдВ рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд╕рднреА рддрд░реНрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХреЗ
render()
рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдЬрдЧрд╣ рдЗрдХрдЯреНрдареЗ рдХреЙрдореНрдкреИрдХреНрдЯ рдХреЛрдб рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди, рд╢рд╛рдпрдж, рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП
App
рдШрдЯрдХ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╣рдорд╛рд░реЗ
Conditional
рдШрдЯрдХ рдХреЗ рд╕рдорд╛рди рдПрдХ рдШрдЯрдХ рдХреЛ рдмрд╕ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐
App
рдШрдЯрдХ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдкрд░ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЬрдм рдпрд╣ рдСрдкрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреГрд╖реНрда рдкрд░ рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрд░реНрдерд╛рддреН, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ,
App
рдШрдЯрдХ рдХреЗ
render()
рдкрджреНрдзрддрд┐ рдореЗрдВ
isLoading
рд╕рдВрдкрддреНрддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рдФрд░
Loading...
рдЬреИрд╕реЗ рдкрд╛рда рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
Loading...
рдпрджрд┐ рдорд╛рдорд▓рд╛ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдпрд╛ рдХрдВрдбреЗрдирд╕рд░ рдШрдЯрдХ рдХреЗ рд╕рдорд╛рди рдПрдХ рдШрдЯрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ; рдпрджрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп,
Conditional
рдШрдЯрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ
App
рд╕реЗ рдЧреБрдгреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣рд╛рдБ рдкрд░ рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдРрдк рдШрдЯрдХ рдХреЛрдб рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЗрд╕реЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
import React, {Component} from "react" import Conditional from "./Conditional" class App extends Component { constructor() { super() this.state = { isLoading: true } } componentDidMount() { setTimeout(() => { this.setState({ isLoading: false }) }, 1500) } render() { return ( <div> {this.state.isLoading ? <h1>Loading...</h1> : <Conditional />} </div> ) } } export default App
рдФрд░ рдпрд╣рд╛рдВ
Conditional
рдШрдЯрдХ рдХрд╛ рдЕрджреНрдпрддрди рдХреЛрдб рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдм рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдирд╣реАрдВ рд╣реИ:
import React from "react" function Conditional(props) { return <h1>Some cool stuff about conditional rendering</h1> } export default Conditional
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдордиреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдФрд░ "рдмреЗрд╕рдореЗрдВрдЯ" рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп рд╣реБрдЖред рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рдЙрдирд╕реЗ рдирд┐рдкрдЯрдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдп рдкрд░ рдПрдХ рджреВрд╕рд░рд╛ рд╕рдмрдХ рд╣реЛрдЧрд╛ред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдпрджрд┐ рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЖрдкрдХреЛ рд╕рд╢рд░реНрдд рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВред
