React: `data-reactroot =" "рд╕рд░реНрд╡рд░ рд░реЗрдВрдбрд░ рдореЗрдВ рдЦреЛ рдЧрдпрд╛ рдпрджрд┐ рддрддреНрд╡ рдЕрдВрджрд░ рд╣реИ '<context.provider>`</context.provider>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдорд╛рд░реНрдЪ 2019  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/react

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдмрдЧред

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?

рдХреЙрд▓рд┐рдВрдЧ .renderToString() рдкрд░ <React.Fragment><div>Hello!</div></React.Fragment> рдХрд╛ рдЙрддреНрдкрд╛рджрди <div data-reactroot="">Hello!</div> ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, "рдЕрджреГрд╢реНрдп" рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддрддреНрд╡реЛрдВ рдХреЗ рднреАрддрд░ DOM рд░реВрдЯ рддрддреНрд╡ рдХреЗ рдХрдИ рдЕрдиреНрдп рд╕рдВрдпреЛрдЬрди data-reactroot="" рдмрд┐рдирд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рд╕рднреА <div>Hello!</div> ( data-reactroot="" ):

<React.Fragment><React.Fragment><div>Hello!</div></React.Fragment></React.Fragment>

<Context.Provider><div>Hello!</div></Context.Provider>

<Context.Consumer>{() => <div>Hello!</div>}</Context.Consumer>

<React.StrictMode><div>Hello!</div></React.StrictMode>

рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдЧ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рдбреЗрдореЛред рд▓рд┐рдВрдХ рдХреЛ рдЕрдкрдиреЗ JSFiddle (https://jsfiddle.net/Luktwrdm/) рдпрд╛ CodeSandbox (https://codesandbox.io/s/new) рдЙрджрд╛рд╣рд░рдг рдХреЗ рдиреАрдЪреЗ рдЪрд┐рдкрдХрд╛рдПрдБ:

рдКрдкрд░ рджреЗрдЦреЛред

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА div рддрддреНрд╡ рдкрд░ data-reactroot="" рд╕рд╣рд┐рдд рдорд╛рд░реНрдХрдЕрдк рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд░рд┐рдПрдХреНрдЯ рдХреЗ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдХреМрди рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ / OS рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВ?

рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рдореБрджреНрджрд╛> = 16.7.0, рд╕рдВрднрд╡рддрдГ рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рднреАред

рдпрд╣ рдПрдХ рдорд╛рдореВрд▓реА рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЙрд╕ рдЬрдЧрд╣ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рдорд╛рд░реНрдХрдЕрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл рд╕реЗ .render() рдмрдЬрд╛рдп .hydrate() - рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рд╕реЗ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд░рд┐рд╣рд╛рдЗрдбреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .render() рдХрд░рдирд╛ рдЕрднреА рднреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред

рдореИрдВ рдПрдХ рдлрд┐рдХреНрд╕ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдкреАрдЖрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд╣реА рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ?

Server Rendering Bug

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

рдареАрдХ рд╣реИ рдЕрдЪреНрдЫрд╛ рд╣реИред рддреЗрдЬреА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдПрдХ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░реВрдВрдЧрд╛ - рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдпрд╣ рдмрдЧ рдХреА рддрд░рд╣ рдЖрд╡рд╛рдЬ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рдмрд╛рдд рд╣реЛрдЧреАред

рдареАрдХ рд╣реИ рдЕрдЪреНрдЫрд╛ рд╣реИред рддреЗрдЬреА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдПрдХ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░реВрдВрдЧрд╛ - рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдПрдХ PR # 15023 рдЬрдорд╛ рдХрд┐рдпрд╛ рд╣реИред

@gaearon рдХрд┐рд╕реА рдХреЛ PR # 15023 рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдлрд┐рдХреНрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛?

рдЕрдм рдЬрдм рд░рд┐рдПрдХреНрдЯ-рдЕрдкреЛрд▓реЛ рдХреЙрдиреНрдЯреЗрдХреНрдЯ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣рдорд╛рд░реЗ рдмрд┐рд▓реНрдб рдЯреВрдЯ рдЧрдП рд╣реИрдВред

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

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

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

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

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

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

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