Javascript 将函数附加到onClick()/onPress()上
我有一个Javascript 将函数附加到onClick()/onPress()上,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个组件看起来像这样: export default class List extends Component { constructor(props) { super(props); } _onPress = (key) => { alert(key); } _createList = () => { const list = Object.keys(this.state.obj).map((key, index) => {
组件
看起来像这样:
export default class List extends Component {
constructor(props) {
super(props);
}
_onPress = (key) => {
alert(key);
}
_createList = () => {
const list = Object.keys(this.state.obj).map((key, index) => {
return (
<TouchableHighlight
key = {index}
style = {style.container}
onPress = {this._onPress(key)}
>
<Text>{key}</Text>
</TouchableHighlight>
)
});
return list;
}
render() {
const listview = this._createList();
return (
<View>
{listview}
</View>
)
}
}
导出默认类列表扩展组件{
建造师(道具){
超级(道具);
}
_onPress=(键)=>{
警报(键);
}
_createList=()=>{
const list=Object.keys(this.state.obj).map((key,index)=>{
返回(
{key}
)
});
退货清单;
}
render(){
const listview=this._createList();
返回(
{listview}
)
}
}
Ob Startup我收到三个
警报(对象中每个键/值对一个)。这种行为是意料之中的。但是,当我单击其中一个文本/可触摸内容时,我没有收到警报。为什么会这样?您必须传递回调,而不是回调结果
onPress={event=>this.\u onPress(key)}
试试这个
onPress = { () => this._onPress(key) }
使用onPress={this.\u onPress(key)}
,onPress绑定到\u onPress
函数调用的结果,该结果等于未定义