2 回答

TA貢獻1827條經(jīng)驗 獲得超4個贊
您不能將帶有參數(shù)的函數(shù)傳遞給 onPress。而是定義一個箭頭函數(shù),該函數(shù)使用像這樣的參數(shù)來執(zhí)行您的 clickLocationResult。
const SearchListItem = props => {
return (
<TouchableOpacity
style={styles.searchListItemContainer}
onPress={() => props.clickLocationResult(props.primaryText)}
>
....
</TouchableOpacity>
);
};

TA貢獻1946條經(jīng)驗 獲得超3個贊
你能在 HomeHeader 中發(fā)布你的 onLocationPress 函數(shù)嗎?
我懷疑你需要的是所謂的函數(shù)柯里化。有很多關(guān)于此的資源,但基本思想是您的函數(shù)將被定義為:
function onLocationPress(text) {
// this is your click handler
return () => {
// do something with that text
}
}
當您為 onPress 處理程序提供帶有參數(shù)的函數(shù)時,該函數(shù)正在執(zhí)行,結(jié)果將返回給處理程序,而不是函數(shù)本身。你想要的是 onLocationPress 成為一個返回另一個函數(shù)的函數(shù)。
添加回答
舉報