我想創建一個屏幕,點擊標題調用函數。 下面的代碼給出了錯誤「undefined不是函數(評估_this2._test()」)如何從React native中的導航欄調用函數?
當我在類Home之外定義_test時,我可以調用函數(但_test不能再訪問this.props )。
另外,我能夠通過使用this._test調用從渲染功能_test()。
看起來這可能是一個問題與「本」,但我想不出有什麼問題可以幫到你嗎?
@connect(data => Home.getDataProps(data))
export default class Home extends React.Component {
static route = {
navigationBar: {
title: <Text onPress={()=>{this._test()}}>Home</Text>
}
}
_test =() => {
console.log("TEST SUCCESS")
console.log(this.props)
}
...
謝謝你的回答。不幸的是,在_test之前放置「靜態」並不能解決問題,因爲我仍然得到相同的錯誤。我試圖做的是從導航欄發送一個動作。我注意到,我無法從靜態路由中執行「this.dispatch」,這導致我創建了_test函數進行試驗。 – GGBB
所以你應該創建新的組件(看看我上面的示例代碼)並連接到redux。這將允許您發送操作。然後使用這個組件代替'navigationBar'中的'Text'' – mkatanski
謝謝!這是有道理的 – GGBB