2016-08-04 134 views
1

我做了一个滑块组件,使用JQueryUI,它在内部计算它当前的滑块值。我渲染这样的:如何从React组件返回值?

<Slider config={config} value={this.getValue} /> 

滑块组件里面我把这种getValue()功能,并通过当前滑块值:

this.props.value(this.state.sliderValue); 

在JSX文件,其中我渲染的成分,我只能检索回调函数getValue()内的滑块的值。有什么方法可以直接获取价值,而不是在回调中?

回答

1

不确定在对象内部戳是一个明智的想法。如果调用对象需要知道Slider的内部,而不是通过回调来提高值,并用“value =”将其返回,这是正确的做法。阅读有关的控制VS在不受控制的对象的差作出反应:https://facebook.github.io/react/docs/forms.html

PS使用价值= {this.getValue.bind(本)}这样的getValue可以将其保存到这样的其他方法可以使用它,如果需要

2

您可以使用一个参考安装组件,以获取其状态:

var Slider = React.createClass({ 
    getInitialState: function() { 
    return { 
     sliderValue: 5 
    }; 
    }, 
    render: function() { 
    return <div />; 
    } 
}); 

var mySlider = ReactDOM.render(<Slider />, document.body); 
console.log(mySlider.state.sliderValue); 

查看更多有关使用refs to components in the React docs