我听说将箭头函数作为 prop 传递并不理想,因为它每次都会创建一个新函数,这会导致性能问题。但是,我不完全确定如何完全远离它们,如下例所示:
class Home extends Component {
onCardPress = (message) =>{
alert(message)
}
render(){
return(
<View>
<Card
onCardPress={this.onCardPress}
message="Hello world!"
/>
</View>
)
}
}
class Card extends Component {
render(){
const { onCardPress , message } = this.props;
return(
<TouchableOpacity
activeOpacity={0.8}
onPress={()=>{onCardPress(message)}}
/>
)
}
}
我曾尝试将onPress
inCard
更改为onPress={onCardPress(message)}
,但我知道这不起作用,因为我正在调用该函数而不是将函数对象传递给onPress
of TouchableOpacity
。在TouchableOpacity
仍然能够message
从父组件传递参数的同时删除箭头函数的“正确”方法或最佳实践是Home
什么?