Redux: Refs рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЬреВрди 2015  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: reduxjs/redux

рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рдШрдЯрдХреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ <Connector> рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рдирдореЗрдВ ref рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдм this.refs рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдереЛрдбрд╝рд╛ рд╕рд╛ рд░рд┐рдлреНрд▓реЗрдХреНрдЯ рдХрд┐рдпрд╛ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдорд╛рд░реНрдЯ рдмрдирд╛рдо рдбрдВрдмрд▓ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреА рддрд░рд╣ рд╣реИред рдпрд╛ рдореИрдВ рдХреБрдЫ рд╕рд░рд▓ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?

help wanted question

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

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рддреБрдЪреНрдЫ рдорд╛рдорд▓реЗ рдореЗрдВ 'findDOMNode' рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рд╣реИ! рдпрд╣ рд╣рдореЗрдВ jquery рдХреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╣рдореЗрдВ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдФрд░ рдиреЛрдбреНрд╕ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдкрдХреЗ рдбреЙрдХреНрд╕ рдиреЗ рд╕рд╣реА рдкрдврд╝рд╛:

'findDOMNode () рдПрдХ рдПрд╕реНрдХреЗрдк рд╣реИрдЪ рд╣реИ ... рдЗрд╕ рдПрд╕реНрдХреЗрдк рд╣реИрдЪ рдХреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдВрдкреЛрдиреЗрдВрдЯ рдПрдмреНрд╕рдЯреНрд░рдХреНрд╢рди рдХреЛ рдЫреЗрдж рджреЗрддрд╛ рд╣реИ'

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

рд╕реНрдорд╛рд░реНрдЯ рдмрдирд╛рдо рдЧреВрдВрдЧрд╛ рдШрдЯрдХ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рдВ, Connector _ props рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рд░реЗрдлрд░реА рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)

const decorator = (Base) => {
  return class {
    render() {
      return <Base {...this.props} />
    }
  }
}

<strong i="7">@decorator</strong>
class Test {

  render () {
    return <div ref={this.props.refCallback}>my div</div>;
  }

}


class Wrapper {

  componentWillMount() {
    this.nestedRef = null;
  }

  componentDidMount() {
    console.log(React.findDOMNode(this.nestedRef));
  }

  setNestedRef = (ref) => {
    this.nestedRef = ref;
  }

  render() {
    return <Test refCallback={this.setNestedRef} />
  }
}

рдКрдкрд░ рд╕реЗ div рд▓реЙрдЧ рд╣реЛрдЧрд╛ред рд╢рд╛рдпрдж рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

рдпрд╣ рдПрдХ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рддрдм рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдХреЙрд▓рдмреИрдХ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдиреЗ Connector рдЕрдВрджрд░ рдирд┐рд╣рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдХреЙрд▓рдмреИрдХ рдХреЗ рдЕрдВрджрд░ рдЖрдк рд░реЗрдлрд░реА рдХреЛ рдЕрдкрдиреЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ рд╡рд╛рдкрд╕ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рд░реЗрдлрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ DOM рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╛рд╣рд░реА рдШрдЯрдХ рдкрд░ findDOMNode рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред (рд╡реЗ рдПрдХ рд╣реА рдиреЛрдб рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВрдЧреЗред)

рдпрджрд┐ рдЖрдк рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдШреЛрд╖рдгрд╛рддреНрдордХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ props рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП https://github.com/jsstyles/react-jss/issues/15 рднреА рджреЗрдЦреЗрдВред

рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЖрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВ _certain_ рдЖрдк рдПрдХ рд░реЗрдлрд░реА рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╣рд╛рдБ, рдЖрдк рдореЗрдВ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ @johanneslumpe рдХреА рддрд░рд╣ рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рд░реЗрдлрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ https://github.com/gaearon/redux/issues/183#issuecomment -+резрез,релреп,реорео,репрейренред

рдмрдВрдж, рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рддреБрдЪреНрдЫ рдорд╛рдорд▓реЗ рдореЗрдВ 'findDOMNode' рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рд╣реИ! рдпрд╣ рд╣рдореЗрдВ jquery рдХреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╣рдореЗрдВ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдФрд░ рдиреЛрдбреНрд╕ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдкрдХреЗ рдбреЙрдХреНрд╕ рдиреЗ рд╕рд╣реА рдкрдврд╝рд╛:

'findDOMNode () рдПрдХ рдПрд╕реНрдХреЗрдк рд╣реИрдЪ рд╣реИ ... рдЗрд╕ рдПрд╕реНрдХреЗрдк рд╣реИрдЪ рдХреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдВрдкреЛрдиреЗрдВрдЯ рдПрдмреНрд╕рдЯреНрд░рдХреНрд╢рди рдХреЛ рдЫреЗрдж рджреЗрддрд╛ рд╣реИ'

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рддреБрдЪреНрдЫ рдорд╛рдорд▓реЗ рдореЗрдВ 'findDOMNode' рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рд╣реИ! рдпрд╣ рд╣рдореЗрдВ jquery рдХреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╣рдореЗрдВ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдФрд░ рдиреЛрдбреНрд╕ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рддреБрдореНрд╣рд╛рд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐, рдпрджрд┐ рдЖрдкрдХреЛ рд░реЗрдВрдбрд░ рдиреЛрдб (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреА рднрд░рдкрд╛рдИ рдФрд░ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреЗ рд╕рдВрджрд░реНрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк findDOMNode(this) рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЖрдкрдХреЛ "рдЧрд╣рд░рд╛ рдЬрд╛рдиреЗ" рдпрд╛ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реВрдВред

рдХрд╣рд╛ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдЗрд╕рд╕реЗ рдЦреБрд╢ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдмрд╕ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рдХреЙрд▓рдмреИрдХ рдкреНрд░реЙрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ findDOMNode(this) рджреЗрдЦрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

@xvalentino findDOMNode рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдПрдкреАрдЖрдИ рдбреЙрдХреНрд╕ рдореЗрдВ getWrappedInstance рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдЯреНрд╕ рджреЗрдЦреЗрдВред

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

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

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

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

dmitry-zaets picture dmitry-zaets  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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