[英]React Native function scope (Call parent function from child function)
我正在努力使自己了解功能范围。 _internalFunction
运作良好,但是我该如何调用_externalFunction
?
我试过self=this
和this._externalFunction
内的this._externalFunction,还尝试了() => {this._externalFunction}
但没有用。
class sandbox extends Component {
//some code removed for clarity
_renderRow(item) {
const _internalFunction = () => {
Alert.alert('Internal');
};
return (<Text onPress={_internalFunction}>{item}</Text>);
}
_externalFunction() {
Alert.alert('External');
};
}
这是React Native Playground中要修饰的代码: https : //rnplay.org/apps/5CIGvA
提前致谢! :)
在ES6中,您需要手动this
绑定到实例。 这是React文档的引文:
在声明为ES6类的React组件中,方法遵循与常规ES6类相同的语义。 这意味着他们不会自动
this
绑定到实例。 您必须在构造函数中显式使用.bind(this)
:
因此,您需要在构造函数中绑定函数:
constructor() {
super();
this._externalFunction = this._externalFunction.bind(this);
}
然后可以在组件中使用this._externalFunction
:
_renderRow(item) {
return (<Text onPress={this._externalFunction}>{item}</Text>);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.