2017-04-01 9 views
0

私はすべてのウェブを探していますが、解決策が見つかりませんでした。おそらく、私はReact-Native宇宙でより新しいです。React-Native親Node change children値

まあ、私の質問は、ノードの親の子供の変更値です。

私の状況は、私はデータコントローラを持っていて、このデータコントローラはイベントからのデータをリッスンし、イベントが発生したときにSliderのようなコンポーネントを更新する必要があります。

レンダリングが必要です。

<DataListener url={this.state.service_url}> 
    <Slider style={this.styles.slider_component}/> 
</DataListener> 

私は私のClass DataListenerでデフォルトSliderを取得するサイクルを理解する必要があります。それはコンストラクタの小道具とそれですか?どのように私はあなたが小道具としての価値を伝承する必要があり、その後、あなたのスライダー・コンポーネントは、適切に対処することができますDataListener内部のスライダーを取得し、this.default_slider.value = 0.4

おかげアドバンス ビクターC Tavernari

答えて

0

のように、この値を変更することができます。もちろん、DataListenerは最初に値を取得しなければなりません。状態を更新すると(this.setState(newState)を介して)状態を更新すると、DataListenerが再描画されます。ターン新しいプロパティとスライダー)を再描画するには:

<DataListener url={this.state.service_url}> 
    <Slider style={this.styles.slider_component} value={this.state.value}/> 
</DataListener> 

データコントローライベントあなたはその後のサイクルについての説明のための

onEvent(e) { 
    this.setState({value: e.value}); 
} 
+0

おかげようなものになるだろうを参照してください。しかし、私は知っている、どのようにDataListenerスライダーを操作することができますか?それともできないのですか? – ViTUu

+0

本当に物事を行うリアクションの方法ではないわけではありません。最初に、コンポーネントは別のコンポーネントに直接影響を与えることはできませんが、別のコンポーネントのメソッドを呼び出すことができます。そのコンポーネントが子コンポーネントである場合、最も簡単な方法はref:https://facebook.github.io/react/docs/refs-and-the-dom.htmlです。子コンポーネントに影響を与えるために、子コンポーネントはメソッドを含む必要があり、親コンポーネントはrefを介してそのコンポーネントを呼び出すことになります –

+0

単純なハンドラを追加して、状態を介して更新をトリガする方法を示しました。 Reactが動作するように設計されていて、最終的に何をしたいのかがはるかに高い –