亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從ReactJS的“外部”訪問組件方法?

如何從ReactJS的“外部”訪問組件方法?

冉冉說 2019-12-13 09:47:47
為什么我不能從ReactJS的“外部”訪問組件方法?為什么不可能,有什么辦法解決呢?考慮一下代碼:var Parent = React.createClass({    render: function() {        var child = <Child />;        return (            <div>                {child.someMethod()} // expect "bar", got a "not a function" error.            </div>        );    }});var Child = React.createClass({    render: function() {        return (            <div>                foo            </div>        );    },    someMethod: function() {        return 'bar';    }});React.renderComponent(<Parent />, document.body);
查看完整描述

3 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

如果要從React外部調用組件上的函數,可以在renderComponent的返回值上調用它們:


var Child = React.createClass({…});

var myChild = React.renderComponent(Child);

myChild.someMethod();

在React之外獲取React Component實例的句柄的唯一方法是存儲React.renderComponent的返回值。


查看完整回答
反對 回復 2019-12-13
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

或者,如果Child上的方法是真正靜態的(不是當前道具,狀態的乘積),則可以對其進行定義statics,然后像靜態類方法一樣對其進行訪問。例如:


var Child = React.createClass({

  statics: {

    someMethod: function() {

      return 'bar';

    }

  },

  // ...

});


console.log(Child.someMethod()) // bar


查看完整回答
反對 回復 2019-12-13
  • 3 回答
  • 0 關注
  • 1446 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號