<p>рдбреАрд╡реАрдП 2.0</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдорд╛рд░реНрдЪ 2017  ┬╖  43рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dvajs/dva

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЦрд╛рд▓реА рд╣реИред рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдореЗрд░реЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдХрд░ ,

  • рдбреАрд╡реАрдП 1.0 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рд╕рд░рд▓ рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рдмреНрд░реЗрдХрдЪреЗрдВрдЬ рдХрд░реЗрдВ, рдФрд░ рдХреЛрдбрдореЙрдб рдПрдХ-рдХреНрд▓рд┐рдХ рдЕрдкрдЧреНрд░реЗрдб рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
  • рд╕реНрд╡рддрдВрддреНрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рд╕рдорд╛рдзрд╛рди, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдЕрдиреНрдп рджреГрд╢реНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░рдирд╛, рд░рд╛рдЙрдЯрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдореМрдЬреВрджрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, #530
  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдЪрд┐рдд рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рд╕рдорд╛рдзрд╛рди, рдЬреИрд╕реЗ рдХрд┐ рд░реАрд╕реЗрд▓реЗрдХреНрдЯ рдХрд╛ рд╕рдВрд╕реНрдорд░рдг, рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ
  • рд░реЗрдбреНрдпреВрд╕рд░ рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдЕрдзрд┐рдХ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдПрдХреАрдХреГрдд рд╣реЛрдиреЗ рджреЗрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдПрдВредрдПрдХ рд╕рд╛рде рдмрдВрдзреЗ, рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рдмреЗрд╣рддрд░ рд╕рдВрдпреЛрдЬрди
  • рддреНрд░реБрдЯрд┐ рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рдПрдВ, #436 #416
  • рдЕрдзрд┐рдХ рд╕рд╣рдЬрддрд╛ рд╕реЗ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ
  • рдкреНрд░рднрд╛рд╡ рдХреЙрд▓рдмреИрдХ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдврдВрдЧ рд╕реЗ рджреЗрдЦреЗрдВ, #175
  • рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдПрдЪрдПрдордЖрд░ рдпреЛрдЬрдирд╛, #469
  • рдореЙрдбрд▓ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреИрд╕реЗ: dva-model-extend
  • рдХреЛрдб рд╢реИрд▓реА: рдкреНрд▓рдЧрдЗрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╡рд┐рднрд╛рдЬрд┐рдд рдореЙрдбреНрдпреВрд▓, рдЖрджрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@nihgwu рд░рд╛рдЙрдЯрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреНрдпрд╛ рд╣реИ?

рд╕рднреА 43 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреИрд╕реЗ ts рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ?

рдЕрдирдореЙрдбрд▓рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреНрдпрд╛ рдЖрдк рдЕрдкреНрд░рдпреБрдХреНрдд рд░рд╛рдЬреНрдп рдбреЗрдЯрд╛ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЗрдбреНрдпреВрд╕рд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ? https://github.com/dvajs/dva/issues/769

рдХреИрд╕реЗ рдбреАрд╡рд╛-рдХреНрд▓реА рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рд░реЛрдбрд╣реЛрдЧ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛? рдРрд╕рд╛ рди рд╣реЛ рдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛ рднреНрд░рдорд┐рдд рд╣реЛред

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

рдРрд╕реА рдЕрдиреБрдХреВрд▓рди рдпреЛрдЬрдирд╛рдПрдВ рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ dva.use(reselect) , рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдорд┐рдбрд▓рд╡реЗрдпрд░ рддрдВрддреНрд░ рдХреА рддрд░рд╣, рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░ рдкреНрд▓рдЧ-рдЗрди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рдЕрд▓рдЧ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ , рдФрд░ рдЧрд╛рдерд╛ рднреА рдЙрдкрд▓рдмреНрдз рд╣реЛ рд╕рдХрддреА рд╣реИ

@nihgwu рдореИрдВ рдЧрд▓рдд рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐,

рдореИрдВ рдкреНрд▓рдЧ-рдЗрди рд╕рдорд╛рдзрд╛рди рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рдХреНрдпрд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ:

view - dva-core - [цПТф╗╢]

рдЙрдирдореЗрдВ рд╕реЗ, рд╡рд░реНрддрдорд╛рди dva рдХреЗ рдмрд░рд╛рдмрд░ рднрд╛рдЧ рд╣реИ:

  • рдбреАрд╡рд╛-рдХреЛрд░
  • рджреНрд╡рд╛-рд╕рд╛рдЧрд╛
  • рд░реВрдЯрд░

рдЕрдВрддрд┐рдо рджреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВред

рдХреНрдпрд╛ рдбреАрд╡реАрдП рдХреЛ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ? рджреГрд╢реНрдп рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдврд╛рдВрдЪрд╛ рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреМрди рд╕реА рд╡рд┐рдзрд┐ рд╣реИ, рд╕рднреА рдХреЛ рдмрджрд▓рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдлрд┐рд░, 1.0 рдХреЗ рд╕рд╛рде рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, dva рдХреЛ dva-core рдФрд░ saga рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ?

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЗрд╖рдг рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

dispatch({
  type: model => model.product.loadAll,
})

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

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

рдХреНрдпрд╛ рд░реЗрдбреНрдпреВрд╕рд░ рдХреЛ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдЕрдм рдХреА рддрд░рд╣, рдПрдирдПрд╕ рд╕реНрдкреНрд▓рд┐рдЯ рдХреЛ рддрд░реНрдХ рдХреЛ рд╕рдорддрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдореЙрдбрд▓ рдПрдХ рд░реЗрдбреНрдпреВрд╕рд░ рдХреА рдЬрдбрд╝ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдиреАрдЪреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░реЗрдбреНрдпреВрд╕рд░ рд▓рдЯрдХ рд░рд╣реЗ рд╣реИрдВред

@xufei рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд╛рдерд╛ рдореВрд▓ рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдЧрд╛рдерд╛ рдХреЗ dva рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЧрд╛рдерд╛ рдХреЛ рдкреНрд▓рдЧ-рдЗрди рдореЗрдВ рдирд┐рдХрд╛рд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

@xufei рдореБрдЭреЗ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ ts рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдмрд╛рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, dva рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рднреА рд╕рд░рд▓ рд╣реИ, рдФрд░ рдЗрд╕реЗ ts рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдлрд╛рдЗрд▓реЗрдВ рдЯрд╛рдЗрдк рдХрд░реЗрдВред

@sorrycc рдЕрд▓рдЧ рдЧрд╛рдерд╛ рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рднреА рджреЗрддрд╛ рд╣реВрдВред рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ dva рдХрд╛ рдореВрд▓ redux + redux-saga рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╣рдо рдЗрд╕реЗ рдХреЙрд▓рдмреИрдХ рд╣реБрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд▓рдЧ-рдЗрди рдореЗрдВ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп.рдЬреЗрдПрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рдореЗрдВ Immutable.js рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ, Immutable.js рдХреА рдкреНрд░рдореБрдЦ рднреВрдорд┐рдХрд╛ рд╣реИ

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

Immutable.js рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЙрд╢ рдФрд░ рд╕реНрдкреНрд░реЗрдб рдСрдкрд░реЗрд╢рдВрд╕ рдХрд╛ рд╕рдВрдпреЛрдЬрди рднреА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд▓реЙрд╢ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрд┐рд▓реНрдЯ-рдЗрди рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, dva 1.x рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЕрдиреБрднрд╡ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ Immutable.js, рд╕реНрдкреНрд▓рд┐рдЯ рд╕рд╛рдЧрд╛, рджреЗрд╢реА рд╕рдорд░реНрдерди ts рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓рдЧрддрд╛ рд╣реИ, рд╕рднреА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЖрддреНрдо-рдкреНрд░реЗрдореА рд╣реИрдВ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд╛рд╕ рджрдХреНрд╖рддрд╛ рдФрд░ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдПред рдкреНрд░рднрд╛рд╡ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, 4 рдмрд┐рдВрджреБ рд╣реИрдВ рдЬрд┐рди рдкрд░ dva 2.x рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. рд╕реЗрд╡рд╛ рдкрд░рдд рдХрд╛ рдЕрдиреБрдХреВрд▓рди, рдЪрд╛рд╣реЗ рдЗрд╕реЗ рдореЙрдбрд▓ рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХреАрдХреГрдд рддрд░реАрдХреЗ рд╕реЗ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ request рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ request.js рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП;

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

  3. рдпрд╣ dva рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рд╕рдореБрджрд╛рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдордЪрд╛рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕рдореГрджреНрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рдХреНрд╖реНрдп рдХреЛрдгреАрдп рдХреЗ рд╕рдВрд╕рд╛рдзрди рд╕реНрддрд░ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдпрд╛ рд╕рдореБрджрд╛рдп рдХреЛ рд╣реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдирд╛ рд╣реИред

  4. рдмрд┐рд▓реНрдб рдЯреВрд▓реНрд╕, рдкреНрд░рджрд░реНрд╢рди, рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЗрддреНрдпрд╛рджрд┐ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирдХрд▓реА) рдХреА рд╡реГрджреНрдзрд┐ рдЕрднреА рднреА рдереЛрдбрд╝реА рдкрд░реЗрд╢рд╛рдиреА рд╣реИ

рдореЗрд░реЗ рд▓рд┐рдП, рдЬреЛ рдЪреАрдЬ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЪрд┐рдВрддрд┐рдд рдХрд░рддреА рд╣реИ рд╡рд╣ рд╣реИ router рдХрд╛ рдЕрд▓рдЧрд╛рд╡ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ dva рдХреЗрд╡рд▓ redux + redux-saga рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред redux рд╕рдореБрджрд╛рдп рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрдо рдХрд░рдиреЗ рдХреА рд╡рдХрд╛рд▓рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП 1.x рдкреИрдХреЗрдЬрд┐рдВрдЧ react-router рдФрд░ fetch рдЕрдирд╛рд╡рд╢реНрдпрдХ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд Immutable ред рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреА рд╡рд░реАрдпрддрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддрд╛ рд╣реИред рдПрдХ рдЕрдиреБрд░рдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдЭреБрдХрд╛рд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреЗрд╡рд▓рдкрд░ рдХреА рд╡рд░реАрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реЗрд╡рд╛ рдкрд░рдд рдХреА рд╕рдорд╕реНрдпрд╛ рднреА рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ , рдЖрдк рд╕реНрд╡рдпрдВ plugin рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ dva-core рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

@nihgwu рд░рд╛рдЙрдЯрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреНрдпрд╛ рд╣реИ?

@nikogu рдиреЗ рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдиреМрд╕рд┐рдЦрд┐рдпреЛрдВ рдХреЛ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛, рдкрддрд╛ рдирд╣реАрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреНрдпрд╛ рд╣реИредрд▓реЗрдХрд┐рди рдЕрдЧрд░ рдбреЙрдХреНрдЯрд░ рд╡рд┐рд╕реНрддреГрдд рд╣реИ, рддреЛ рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ

рд░рд╛рдЙрдЯрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреНрдпрд╛ рд╣реИ

@рдирд┐рдХреЛрдЧреБ

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдбреАрд╡реАрдП рдХрд╛ рдЖрд╡реЗрджрди рджрд╛рдпрд░рд╛ рдереЛрдбрд╝рд╛ рд╕рдВрдХреАрд░реНрдг рд╣реИ, рдФрд░ рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдореБрджрд╛рдп рд╕реЗ рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рджреГрд╢реНрдп рд╕рд╣рд┐рдд, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░ рд╕реЗ рднреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рд░рд╛рдЙрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рд╡рд╛рдпрд░рд▓реЗрд╕ рдорд▓реНрдЯреА-рдкреЗрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди; рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓; рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдиреЛрдб , рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдФрд░ рдПрдкреНрд▓реЗрдЯреНрд╕ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреАрд╡реАрдП рдФрд░ рдЕрдзрд┐рдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@nikogu рд░рд╛рдЙрдЯрд░ рд╕реЗ рджреВрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд╛рдЙрдЯрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд░рдПрди рдореЗрдВ, рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдиреЗрд╡рд┐рдЧреЗрд╢рди рднреА рд╡реЗрдм рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдбреАрд╡реАрдП рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдирдП рд░реВрдк рдореЗрдВ рд░реЗрдбрдХреНрд╕ рдФрд░ рд╕рд╛рдЧрд╛ рдХреЛрдб рдФрд░ рддрд░реНрдХ рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕, рдЬреЛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдХреЗ рдореМрдЬреВрджрд╛ рдПрдкреАрдЖрдИ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдмреЙрдбреА, рдХреБрдХреА рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдХреМрди рд╕рд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди рдЪреБрдирддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдпрджрд┐ рдЖрдк рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ dva-ant = dva-core + dva-plugins рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

dva рдХрд╛ рд╕рдВрдпреЛрдЬрди redux рдФрд░ saga рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рджреЛрдиреЛрдВ рдбреЗрдЯрд╛ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдореВрд▓ рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рдХреЛ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкреНрд▓рдЧ-рдЗрди рдпрд╛ рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдФрд░ Django рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдо рдХрд░рдиреЗ рдФрд░ рдЕрдзрд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдВрддрд░, рдХреБрдЫ рд▓реЛрдЧ рдмрдбрд╝реЗ рдФрд░ рдкреВрд░реНрдг рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреЗрдПрд╕ рд╕рдореБрджрд╛рдп рдЫреЛрдЯреЗ рд▓реЗрдХрд┐рди рд╕реБрдВрджрд░ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реИ

рдЬрд╣рд╛рдБ рддрдХ рд╕реАрдзреЗ redux рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдореИрдВ dva рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ dva redux рдХреА рдХреЛрдб рд╕рдВрд░рдЪрдирд╛ рдФрд░ рддрд░реНрдХ рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрддреНрдкрд╛рджрди рдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ redux рдкрд░ рдЖрдзрд╛рд░рд┐рдд dva рдХрд╛ рдореВрд▓ рднреА рд╣реИред

рдпрджрд┐ рд╣рдо рдЖрдБрдЦ рдмрдВрдж рдХрд░рдХреЗ рдЕрдзрд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ dva рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп рд╕рдВрдХрд░реЗ рдФрд░ рд╕рдВрдХрд░реЗ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, RN рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (v4 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдмреБрдирд┐рдпрд╛рджреА рд╣реИ), RN рднреА рд▓рд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдФрд░ рдЕрдиреНрдп рдордЬрдмреВрдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реИрдВ . рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рдЙрдиреНрдирдпрди рдирд┐рд░реНрднрд░рддрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛ред рдпрд╣ рдЕрднреА рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░ рд╣реИред V4 RN рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди dva рдЕрднреА рднреА V2 рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП dva рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рд╣реЛрдЧреАред рдпрджрд┐ рдпрд╣ рдПрдХ рдкреНрд▓рдЧ рд╣реИ- рдореЗрдВ рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ, рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА

рдКрдкрд░ dva-core рд╕реЗ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЫреЛрдЯреЗ рдХреЛрд░ рдХреЛ dva-core рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдирд╛, рд░рд╛рдЙрдЯрд░ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рд▓реЗрдирд╛, рдФрд░ рдлрд┐рд░ рдХреБрдЫ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдХреАрдХрд░рдг рдпреЛрдЬрдирд╛рдПрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛, рдЬреИрд╕реЗ рдХрд┐ рдХрдВрдкрдиреА рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдПрдХреАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг, рдорд┐рдбрд┐рд▓ рдФрд░ рдмреИрдХ рдСрдлрд┐рд╕ рдХреЗ рд▓рд┐рдП , рдФрд░ H5 рдХреЗ рд▓рд┐рдП, рдЫреЛрдЯреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо, рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд░реЗрдВрдбрд░рд┐рдВрдЧ, рдЖрджрд┐ рдХреЗ рд▓рд┐рдПред

2:00:
1. рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдореЙрдбрд▓ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИред рджреВрд╕рд░реЗ рдФрд░ рд╕реЗрд╡рд╛ рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рд╕рдВрдмрдВрдз рд╣реИ? рд╕реЗрд╡рд╛ рдпрд╛ рдЕрдиреБрд░реЛрдз рдХреЛ рдмрд┐рд▓реНрдЯ-рдЗрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
2. рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд▓рдЧ-рдЗрди рдореЗрдВ рдмрджрд▓реЗрдВ, рдпрд╛ рдЬреЛ рднреА рд╣реЛ, рдЙрджреНрджреЗрд╢реНрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдореБрдХреНрдд рдХрд░рдирд╛ рд╣реИ

2.0 рдХрдм рд╢реБрд░реВ рд╣реЛрдЧрд╛?

рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп ssr рд╕рдорд╛рдзрд╛рди рд░рд╛рдЙрдЯрд░ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕рд╛рд░рдЧрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд╣рд▓реЗ рд░реВрдЯрд┐рдВрдЧ рдЕрдиреБрд░реЛрдз рдХреЛ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреЗрдЯ рдЯреНрд░реА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ dva () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ dva рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдореЗрдВ рдХрдордЬреЛрд░ рд╣реИ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧред

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЖрд░рдПрдиредрдЙрдореНрдореАрдж рд╣реИ рдмреЗрд╣рддрд░ рд╕рд╣рдпреЛрдЧ рдорд┐рд▓реЗрдЧрд╛

рджреВрд╕рд░реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ namespace

рдбреАрд╡реАрдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдореЗрд╢рд╛ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛрдВрдЧреЗ рдЬрд╣рд╛рдВ reducer рдХреЛ рдХрд┐рд╕реА рдЙрдкрд╕рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдбреАрд╡реАрдП рдХреЗ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ namespace рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ, рдпрджрд┐ namespace рд╣реИ default (рдпрд╛ global , * ), рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ model рддрд╣рдд reducers рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдмрд┐рдирд╛ рд╣реИ

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

  • redux-saga рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдорд░реНрдерди)
  • рдХрдИ рдЫреЛрдЯреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдЯреЛрд░, рдПрдХ рд░рд╛рдЙрдЯрд░)
  • рдиреЗрд╕реНрдЯреЗрдб рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ vuex рдХреЛ redux рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбрд▓ рдХрд┐рдпрд╛ https://github.com/d-band/yax

рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рд░реЗрдВрдбрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдХреЗ рд╕рд┐рд░реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ!

рдХреНрдпрд╛ рдореИрдВ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдореЙрдбрд▓, рд╕реЗрд╡рд╛ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдХрд░, рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХреИрдЯрд▓реЙрдЧ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрдиреНрдпрдерд╛ рдХрдИ рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдХреВрджрдиреЗ рд╕реЗ рд╣реГрджрдп рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрджрд╛рддреНрдд рдХреЗ рдКрдкрд░ рд╡рд╛рд▓реЗ рдЯреИрдм рдореЗрдВ user.js рдХреНрдпрд╛ рдЦреЛрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рддрд░рд╣ рдирд╛рдо рджрд┐рдпрд╛ рд╣реИ: user.jsx, user.model.js, user.service.jsред user/model.js, service.js, container.js . рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦреЗрдВ

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрдЧрдарди рдЬреИрд╕реЗ @zheeeng рдЕрдм рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рдФрд░ dva рдХреЗ рдкрд╛рд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрдЧрдарди рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИред

@xufei
@sorrycc

рдЕрдирдореЙрдбрд▓рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреНрдпрд╛ рдЖрдк рдЕрдкреНрд░рдпреБрдХреНрдд рд░рд╛рдЬреНрдп рдбреЗрдЯрд╛ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЗрдбреНрдпреВрд╕рд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ?

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

рдХреГрдкрдпрд╛ pathToRegexp рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдкрд╛рд░реНрд╕ рдФрд░ рд╕рдВрдХрд▓рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдпрд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдпреБрдЧреНрдорди рдХреЛ рдХрдо рдХрд░рдиреЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рд╕рдордЭреМрддрд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдкреНрд░рднрд╛рд╡ рд╡реНрдпрд╡рд╕рд╛рдп рдмрд╣реБрдд рднрд╛рд░реА рд╣реИ, рдФрд░ рдореЙрдбрд▓-рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ

@nihgwu рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ "

@sorrycc рдХреНрдпрд╛

рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдбреАрд╡рд╛-рдХреНрд▓реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪреБрди рд╕рдХрддрд╛ рд╣реИ

dva-core рдкрд╣рд▓реЗ рд╕реЗ рд╣реА WeChat рдПрдкреНрд▓реЗрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

@yautah рдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА? рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдпреЛрдЬрдирд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ dva-core рдХреЛ рдХреЗрд╡рд▓ redux рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рд░реА-рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЕрдиреНрдп рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЪреБрдирдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдЬреИрд╕реЗ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдФрд░ рд░реВрдЯрд┐рдВрдЧ рд╕реНрдХреАрдоред

рд╕реНрдЯрд╛рдЗрд▓рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрд╡рд╛-рдХреНрд▓реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╢рд╛ рд╣реИ

рд╕рдорд░реНрдерди рдПрд╕рдПрд╕рдЖрд░ рдирд╣реАрдВред

рдПрдЪрдЖрд░рдПрдо рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдПрдкреАрдЖрдИ рд▓реЗрдЦрди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

itiwll picture itiwll  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BenAnn picture BenAnn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ufohjl picture ufohjl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wm3445 picture wm3445  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kpaxqin picture kpaxqin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ