2016-08-04 9 views
1

JQueryUIを使用してスライダコンポーネントを作成しました。これは内部的に現在のスライダ値を計算します。私は私が唯一取得できるコンポーネントをレンダリングしJSXファイルでReactコンポーネントから値を返すにはどうすればよいですか?

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

:私はこのgetValue()関数を呼び出すと、現在のスライダ値を渡しスライダーコンポーネント内

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

:私はこのようにそれをレンダリングしていますコールバック関数getValue()内のスライダの値。コールバックの代わりに値を直接取得できる方法はありますか?

答えて

1

オブジェクト内での突き刺しが不確かなことは賢明です。呼び出し側のオブジェクトがコールバックを介して値をプッシュするよりSliderの内部を知る必要がある場合は、「値=」で返すことが適切です。反応で制御されていないオブジェクト対制御さの差について読む: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の使用方法の詳細を参照してください。

関連する問題