react:从父组件调用子组件的方法

时间:2015-12-13 11:42:36

标签: javascript reactjs react-native

我有一个反应原生的ScrollView,它有很多视图。我使用以下代码存储ref以进行查看

this.props.onContactSubmit

卡片是一个单独的组件,如下所示:

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

然而它说testMethod未定,无法调用ref.testMethod()。

1 个答案:

答案 0 :(得分:3)

我在jsfiddle上玩了​​你的代码,看起来像是调用了child方法:

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/