React - 从外部调用组件方法时获取未捕获的TypeError

时间:2017-11-19 16:18:34

标签: reactjs

我有一个反应组件如下:

Dog

但是,当我尝试通过创建var doge = React.createElement(Dog, null); console.log(doge); doge.bark(); 元素来调用Uncaught TypeError: doge.bark is not a function方法时,如下所示:

doge

我得到了React.createElement。但是在chrome的控制台中,我可以在php --ini 对象

中看到bark方法

enter image description here

我是初学者。任何人都可以解释幕后的实际情况吗?

修改

实际上我想知道为什么我们无法从Shell方法创建的元素访问组件的方法?请有人解释一下。

1 个答案:

答案 0 :(得分:0)

你需要在任何地方以同样的方式拼写和利用狗狗,而不是狗或狗。然后更改渲染函数以调用bark函数,如下所示:

 render: function() {
    return (<div>{this.bark()}</div>);
 }

虽然我会将功能从发送警报更改为console.log。

对于最后三行代码,您尝试将react组件视为对象。只需在渲染之前调用bark:

 render: function() {
    this.bark() /*called function on render*/
    return (<div></div>);
 }