React: [рдмрдЧ] рд░рд┐рдПрдХреНрдЯ рдСрди рдЪреЗрдВрдЬ рд╕рд┐рдВрдереЗрдЯрд┐рдХ/рдкреНрд░реЙрдХреНрд╕реА рдЗрд╡реЗрдВрдЯреНрд╕ рдХреЛ рд░рд┐рд╕рд╛рдЗрдХрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рд╣реИрдВрдбрд▓рд░ рдбрд┐рдмреЙрдиреНрд╕реНрдб рд╣реЛрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рд╕рд┐рддре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/react

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

0.14.7 рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рд▓реЗрдХрд┐рди рдЖрдЬ 15.3.2 рдореЗрдВ рднреА рд╣реЛрддреА рд╣реИред

https://jsfiddle.net/dimitar/7ktbfetb/

class Foo extends React.Component {
    render(){
    const handleChange = _.debounce(this.props.onChange, 500);
    return <input onChange={handleChange} />
  }
}

ReactDOM.render(<Foo onChange={e => console.log(e.target, e)} />, document.querySelector('div'));

e.target рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВ, null . рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдмрд╣рд╕ рдХреЗ рдмрд┐рдирд╛, рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред https://jsfiddle.net/dimitar/7ktbfetb/1/

рд╕рдВрднрд╡рддрдГ https://github.com/facebook/react/commit/3285d834402a60d241188a1deacf8250b50239cf рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд - https://github.com/facebook/react/blob/master/CHANGELOG.md#react -9 рдХреЗ рд▓рд┐рдП

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

рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП, рдЖрдк e.persist() . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП return <input onChange={e => handleChange(e.persist()||e)} />

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

рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП, рдЖрдк e.persist() . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП return <input onChange={e => handleChange(e.persist()||e)} />

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

рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЕрднреА рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рдкреВрд▓рд┐рдВрдЧ рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ # 6190 рдореЗрдВ рдХреБрдЫ рдЪрд░реНрдЪрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬрд╛рд░реА рд░рдЦреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

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

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

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

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

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

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

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