2016-11-16 68 views
0

我有渲染功能,當我從這裏調用另一個方法時,我可以消耗我的stateprops,我可以傳遞這些值並使它們可訪問我的其他功能。但是,我想從componentDidMount函數調用我的方法,並使用我可以在渲染中使用的state/props。當我從componentDidMount呼叫我的功能時,state/prop數據保持未定義狀態。如何在反應中使用另一個函數的狀態或道具js

render

render : function(){ 
    var customState = this.state.data; 
    var customProp = this.props.otherData; 
}, 

componenDidMount

componentDidMount : function(){ 
    this.myCustomFunction(); 
}, 

myCustomFunction

mycustomFunction : function(){ 
    var stateData = this.state.data.name; //undefined 
}, 

現在,我怎麼能在這裏傳遞的狀態數據?

+0

'this.state.data.name; // undefined' - 你發佈的代碼沒有定義它,因此它是'undefined' - 有什麼問題? –

+0

你什麼時候填充你的組件的狀態和道具?這可能是當'componentDidMount'執行時,你的'state'和'props'還沒有被填充 – Khang

+0

我可以訪問渲染中的數據,但我不知道如何在myCustomFunction()中使用它,如何在那裏獲取數據? –

回答

0

你在做什麼是正確的。

mycustomFunction : function(){ 
    var stateData = this.state.data.name; //undefined 
} 

this.state.data.name可能是未定義的,因爲您沒有設置它。 嘗試調試只是this.state.data或控制它,並檢查數據是否存在。

相關問題