我想通過內置反應函數通過道具和試圖設置狀態,但我得到this
未定義!反應嵌套組件傳遞內置函數(沒有通量)
我這樣試過的東西:
index.js
let somefun = function(){
this.setState({myvar:1});
}
ReactDom.render(<someComponent body={<someOtherComponent1 componentWillUpdate={somefun}/>} />, document.getElementById('someValidID'));
someOtherComponent1.js
React.createElement(someOtherComponent1, { "className": "someclass"})
我的問題是,每當我通過一個內置函數,即,反應原型this
中存在的函數總是未定義的。
如何通過道具發送內置函數?
感謝您的答案......但我想在這裏工作了一些抽象的。我不想設定sumeFunc內組件...原因是,這個組件是一個可重用的組件,對這個組件唯一動態的是'componentWillUpdate' func,所以我一直在尋找一種方法來從組件外部指定它(將它從父母組件或類似的東西)哈布你有什麼想法如何做到這一點? –
它會這樣工作。只要你的組件總是調用傳遞下來的函數(你甚至可以將它命名爲ComponentWillMount以使其更容易理解),它就可以工作。你想要的是舊的React的mixin方法,但是這些方法已經被支持了。請記住,您可以即時定義onComponentWillMount。查看更新後的答案。 –