2015-12-13 23 views
5

私は、反応したネイティブでScrollViewを持っており、多くのビューがあります。私はreact:親コンポーネントから子コンポーネントのメソッドを呼び出す

cards.push(
    <Card 
    ref={(ref) => { 
     console.log(ref); 
     this.cardRef[index] = ref; 
     ref.testMethod(); 
    }} /> 
); 

カードは次のようになり、別のコンポーネントで、次のコードを使用して表示することREFを格納します。

それはのtestMethodがundefindedされていることを言いますが、()ref.testMethodを呼び出すことはできません。

答えて

3

私はjsfiddleにあなたのコードで演奏し、子メソッドが呼び出されるように見える:

var Card = React.createClass({ 
    testMethod() { 
    console.log('this.is.test.method'); 
    }, 
    render() { 
    return (
     <h1>this is a card.</h1> 
    ) 
    } 
}); 

var Parent = React.createClass({ 
    render: function() { 
     return <div><Card ref={(r) => {r.testMethod()}}/></div>; 
    } 
}); 

ReactDOM.render(
    <Parent />, 
    document.getElementById('container') 
); 

https://jsfiddle.net/vq110d69/

+0

rnplayにサンプルプロジェクトをしようとしたとき、どういうわけか、コードにも私のために働いている:HTTPS ://rnplay.org/apps/tAeu6g。しかし、私の現在のアプリではありません。問題を自分で確認する必要があります。返信ありがとう。 – meteors

関連する問題