2016-08-25 48 views
1

如果我有这样一个组成部分:访问裁判在作出反应

class Sliders extends React.Component { 
    render() { 
    return (
     <div> 
     <Slider ref="first" update={this.props.update} /> 
     <Slider ref="second" update={this.props.update} /> 
     <Slider ref="third" update={this.props.update} /> 
     </div> 
    ) 
    } 
} 

,我想设置一个使用它的裁判访问值,是有办法做到这一点的另一个组成部分?

class App extends React.Component { 
    sliderUpdate(){ 
     console.log(ReactDOM.findDOMNode(this.refs.third).value) 
    } 
    render() { 
     return (
      <div> 
       <Sliders update={this.sliderUpdate} /> 
      </div> 
     ) 
    } 
} 

这不起作用,因为它看起来像裁判不会继承到应用程序类。

+0

声明返回裁判的值的函数..然后通过道具来访问返回它的功能 –

+0

你有没有我可以看一个例子吗?这对我来说很难掌握 – Rob

+0

,所以你说我的updateFunction会把当前的ref作为参数? – Rob

回答

1

这可以不使用refs来解决。

示例代码将是如下,

const handleChange = (val) => (
    console.log(val) 
) 
const Application =() => (
    <div> 
    <Slider handleChange={handleChange} /> 
    </div> 
); 

const Slider = (props) => (
    <div> 
    <input type="text" placeholder="typesomething" onChange={(e) => props.handleChange(e.target.value)}></input> 
    </div> 
) 

入住这codepen