下面是代码:
export default SomeClass extends React.Component {
constructor(props) {
super(props);
}
_FunctionA = () => {
// Do something
}
render() {
const arr = ['1', '2'];
const buttons = arr.map(function(v, i) {
return(
<TouchableOpacity onPress={this._FunctionA}></TouchableOpacity>
);
});
return(
<View>
{ buttons }
</View>
);
}
}
我的问题是为什么我不能在map函数内的同一类中调用functionA,我知道this._FunctionA存在问题,它没有引用正确的函数,但是我找不到方法和内容是从map函数调用Function的方法。
答案 0 :(得分:1)
在map函数中,this
使用另一个值,this
不再引用类,因此在渲染函数中,您必须在var中引用该类:
render() {
const arr = ['1', '2'];
let that = this;
const buttons = arr.map(function(v, i) {
return(
<TouchableOpacity onPress={that._FunctionA}></TouchableOpacity>
);
});
return(
<View>
{ buttons }
</View>
);
}