рдирдорд╕реНрдХрд╛рд░ рджреЛрд╕реНрдд, рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдХреБрдЫ рдордВрджрдмреБрджреНрдзрд┐ рдкреНрд░рд╢реНрдиреЛрдВ рд╕реЗ рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓реЗрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдореИрдВ
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Feliz.ElmishComponents
рдФрд░ Feliz.UseElmish
рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ? рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рджреЛрдиреЛрдВ рдПрд▓реНрдорд┐рд╢ рдПрдорд╡реАрдпреВ рднрд╛рдЧреЛрдВ рд╡рд╛рд▓реЗ рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХ рд╣реИрдВред рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рджреВрд╕рд░реЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдХреЛ рдЪреБрдиреЗрдВрдЧреЗ? рдореБрдЭреЗ Feliz.UseElmish
рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдкрд╕рдВрдж рд╣реИ рдФрд░ рдмрд╕ рдбрд░ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдФрд░ рднреА рдХреВрд▓рд░ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ
рддреЛ Feliz.ElmishComponents
рдЕрдм рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ, рдФрд░ Feliz.UseElmish
ред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ Feliz.ElmishComponents
рдПрдХ рд╡рд░реНрдЧ рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХ рдерд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдерд╛ред рдЙрд╕рдХреЗ рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрджрд┐ рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдШрдЯрдХ рд╣реИ рддреЛ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реБрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рддреБрдЪреНрдЫ рд╣реИред рдЗрд╕ рддрд░рд╣ Feliz.UseElmish
рдЙрджрдп рд╣реБрдЖред рддреЛ рдЕрдм Feliz.ElmishComponents
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдШрдЯрдХ рд╣реИ рдЬреЛ рд╣реБрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЖрдк Feliz.ElmishComponents
рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рджреЗрдЦреЗрдВ рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдЕрднреА рдЫреЛрдЯрд╛ рд╣реИ ред
рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдХреЛрдбрд╝реА !!! рддреЛ рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдЕрднреА Feliz.UseElmish
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред
рд╣рд╛рдБ, рд▓реЛрдЧреЛрдВ рдХреЛ рди рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА Feliz.ElmishComponents
ред рдЖрдк рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред
рдЙрддреНрддрдо! рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!
рдпрджрд┐ рдЗрд╕реЗ "рдмрд╣рд┐рд╖реНрдХреГрдд" рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ "рдЕрдкреНрд░рдЪрд▓рд┐рдд" рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдиреБрд╢рдВрд╕рд┐рдд API рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ?
рд╣рд╛рдВ, рд╣рдо рд╕рд┐рд░реНрдл рдПрдл # рдЯреАрдо рдХреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╢рд╛рдпрдж рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде)
рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╣рд╛рдБ рдХрд┐рдпрд╛ - https://github.com/Zaid-Ajaj/Feliz/pull/264
рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рджреВрд╕рд░реЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдХреЛ рдЪреБрдиреЗрдВрдЧреЗ? рдореБрдЭреЗ Feliz.UseElmish рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдмрд╕ рдбрд░ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдФрд░ рднреА рдХреВрд▓рд░ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ
рд╣рд╛рдп рд░реЛрдорди, рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓!
рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдХреЛрдбреА рдЬреИрд╕рд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ Feliz.UseElmish
рдХреЛ Feliz.ElmishComponents
рдкреВрд░реНрдг рдШрдЯрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реБрдХ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдкреВрд░реА рдХрд╣рд╛рдиреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Feliz.UseElmish
рднреА _рд╣реБрдХ рд╕реЗрдореЗрдиреНрдЯрд┐рдХреНрд╕_ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рд╕рд░рдгреА рдХреЗ рдЙрдкрдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдЕрдВрддрд┐рдо рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдХ рдкреБрди: рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рдЬреЛ Feliz.ElmishComponents
рд╕реЗ рдПрдХ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд╣реИ
Feliz.UseElmish
рдХреЛ рдЙрд╕реА рдШрдЯрдХ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдЬреИрд╕реЗ рдЕрдиреНрдп рд╣реБрдХ рдХреЗ рд╕рд╛рде рднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
"рдкреБрдирдГ рдЖрд░рдВрднреАрдХрд░рдг" рд╕реЗ рдореЗрд░рд╛ рдХреНрдпрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИ? рдареАрдХ рд╣реИ, рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдк URL рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдШрдЯрдХ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
#/user=profile/{userId} -> UserProfile { UserId = userId }
рдореВрд▓ рд░реВрдк рд╕реЗ, рдЬрдм рдЗрдирдкреБрдЯ UserId
рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рд╣рдо UserProfile
рдШрдЯрдХ (рд░рд╛рдЬреНрдп рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП init
рдкрд░ рдХреЙрд▓ рдХрд░рдирд╛) рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
type UserProfileProps = { UserId : int }
let UserProfile = React.functionComponent("UserProfile", fun (props: UserProfileProps) ->
let state, dispatch = React.useElmish(init props.UserId, update, [| props.UserId |])
Html.h1 (sprintf "UserProfile(UserId=%d)" props.UserId)
)
// later on application entry:
React.router [
router.onUrlChange (parseUrl >> UrlChanged >> dispatch)
router.children [
match state.CurrentUrl with
| [ "user-profile"; Route.Int userId ] -> UserProfile { UserId = userId }
| _ -> Html.h1 "Not found"
]
]
рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдирд┐рд░реНрднрд░рддрд╛ рд╕рд░рдгреА [| props.UserId |]
рдХреЛ рд╣реБрдХ (рд╣реБрдХ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░рд╛ рддрд░реНрдХ) рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдШрдЯрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рддрд╛рдЬрд╝рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдПрд▓реНрдорд┐рд╢ рдкреНрд░реЗрд╖рдг рд▓реВрдк рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП init
рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ init
рдЗрдирдкреБрдЯ props.UserId
рдХрд╛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдерд╛,
рдЬрдм рди рддреЛ init
рдФрд░ рди рд╣реА update
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдШрдЯрдХ рдХреЗ рдкреНрд░реЙрдкреНрд╕ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдПрдХ рдЦрд╛рд▓реА рдирд┐рд░реНрднрд░рддрд╛ рд╕рд░рдгреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ:
let state, dispatch = React.useElmish(init, update, [| |])
рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЙрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рд╕реЗ рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреНрд░рд╡реЗрд╢ рдШрдЯрдХред
рдирд┐рд░реНрднрд░рддрд╛ рд╕рд░рдгреА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡реЗ рдмрд╣реБрдд рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рд╣реБрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рдлрд╛рдпрд░ рдХрд░рдирд╛ ред
рдЕрдВрддрд┐рдо рдЯрд┐рдк: Feliz.UseElmish
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдкреВрд░реНрдг рдПрд▓реНрдорд┐рд╢ рдкреНрд░реЗрд╖рдг рд▓реВрдк рджреЗрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк рдкрд╛рд░рдВрдкрд░рд┐рдХ рдПрд▓реНрдорд┐рд╢ рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдЖрдкрдХреЗ рдШрдЯрдХ рд╕рд░рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд░рд╛рдЬреНрдп рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреБрдЫ рд░рд╛рдЬреНрдп рдХреЗ рдЭрдВрдбреЗ рдЪрд╛рд╣рд┐рдП? рдлрд┐рд░ React.useState
рд╕рд╛рде рдХреБрдЫ рд░рд╛рдЬреНрдп рдЪрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЖрдЧреЗ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд┐рдирд╛ рдХреБрдЫ рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдФрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рддрдм React.useDeferred
рдЪрд╛рд▓ рдЪрд▓ рд╕рдХрддреА рд╣реИред рдореИрдВ рдЬрдЯрд┐рд▓ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП Feliz.UseElmish рдХреЗ рд▓рд┐рдП рдЬрд╛рдКрдВрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдШрдЯрдирд╛рдПрдВ рдФрд░ рдмрд╣реБрдд рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдмрд╛рддрдЪреАрдд рд╣реЛрддреА рд╣реИред
рд╡рд╛рд╣, рдареЗрда рдЬрд╝реИрдж рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред рддреБрдореНрд╣реЗрдВ рд╡реЛ рдмрд╛рддреЗрдВ рд╕рд┐рдЦрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛рд░! рдореИрдВ рдЕрдВрдд рдореЗрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдБред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж! тЭдя╕П
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рд╛рдп рд░реЛрдорди, рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓!
рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдХреЛрдбреА рдЬреИрд╕рд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐
Feliz.UseElmish
рдХреЛFeliz.ElmishComponents
рдкреВрд░реНрдг рдШрдЯрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реБрдХ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИредрд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдкреВрд░реА рдХрд╣рд╛рдиреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
Feliz.UseElmish
рднреА _рд╣реБрдХ рд╕реЗрдореЗрдиреНрдЯрд┐рдХреНрд╕_ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рд╕рд░рдгреА рдХреЗ рдЙрдкрдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдЕрдВрддрд┐рдо рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдХ рдкреБрди: рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рдЬреЛFeliz.ElmishComponents
рд╕реЗ рдПрдХ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд╣реИFeliz.UseElmish
рдХреЛ рдЙрд╕реА рдШрдЯрдХ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдЬреИрд╕реЗ рдЕрдиреНрдп рд╣реБрдХ рдХреЗ рд╕рд╛рде рднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред"рдкреБрдирдГ рдЖрд░рдВрднреАрдХрд░рдг" рд╕реЗ рдореЗрд░рд╛ рдХреНрдпрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИ? рдареАрдХ рд╣реИ, рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдк URL рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдШрдЯрдХ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
рдореВрд▓ рд░реВрдк рд╕реЗ, рдЬрдм рдЗрдирдкреБрдЯ
UserId
рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рд╣рдоUserProfile
рдШрдЯрдХ (рд░рд╛рдЬреНрдп рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПinit
рдкрд░ рдХреЙрд▓ рдХрд░рдирд╛) рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдирд┐рд░реНрднрд░рддрд╛ рд╕рд░рдгреА
[| props.UserId |]
рдХреЛ рд╣реБрдХ (рд╣реБрдХ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░рд╛ рддрд░реНрдХ) рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдШрдЯрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рддрд╛рдЬрд╝рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдПрд▓реНрдорд┐рд╢ рдкреНрд░реЗрд╖рдг рд▓реВрдк рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПinit
рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐init
рдЗрдирдкреБрдЯprops.UserId
рдХрд╛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдерд╛,рдЬрдм рди рддреЛ
init
рдФрд░ рди рд╣реАupdate
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдШрдЯрдХ рдХреЗ рдкреНрд░реЙрдкреНрд╕ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдПрдХ рдЦрд╛рд▓реА рдирд┐рд░реНрднрд░рддрд╛ рд╕рд░рдгреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ:рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЙрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рд╕реЗ рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреНрд░рд╡реЗрд╢ рдШрдЯрдХред
рдирд┐рд░реНрднрд░рддрд╛ рд╕рд░рдгреА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡реЗ рдмрд╣реБрдд рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рд╣реБрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рдлрд╛рдпрд░ рдХрд░рдирд╛ ред
рдЕрдВрддрд┐рдо рдЯрд┐рдк:
Feliz.UseElmish
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдкреВрд░реНрдг рдПрд▓реНрдорд┐рд╢ рдкреНрд░реЗрд╖рдг рд▓реВрдк рджреЗрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк рдкрд╛рд░рдВрдкрд░рд┐рдХ рдПрд▓реНрдорд┐рд╢ рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдЖрдкрдХреЗ рдШрдЯрдХ рд╕рд░рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд░рд╛рдЬреНрдп рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреБрдЫ рд░рд╛рдЬреНрдп рдХреЗ рдЭрдВрдбреЗ рдЪрд╛рд╣рд┐рдП? рдлрд┐рд░React.useState
рд╕рд╛рде рдХреБрдЫ рд░рд╛рдЬреНрдп рдЪрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЖрдЧреЗ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд┐рдирд╛ рдХреБрдЫ рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдФрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рддрдмReact.useDeferred
рдЪрд╛рд▓ рдЪрд▓ рд╕рдХрддреА рд╣реИред рдореИрдВ рдЬрдЯрд┐рд▓ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП Feliz.UseElmish рдХреЗ рд▓рд┐рдП рдЬрд╛рдКрдВрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдШрдЯрдирд╛рдПрдВ рдФрд░ рдмрд╣реБрдд рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдмрд╛рддрдЪреАрдд рд╣реЛрддреА рд╣реИред