我创建了按钮:
<Button
containerStyle={{padding:10, height:45, overflow:'hidden', borderRadius:7,marginTop: 60, backgroundColor: 'white'}}
style={styles.button}
onClick={this.handlePress}>
We Are
</Button>
还有handlePress:
handlePress (event) {
require('./we-are.js')
// alert("ciaooo")
}
然而,当我点击按钮时没有任何反应。我尝试了一个有效的警报。
答案 0 :(得分:1)
您需要绑定该函数,以便在调用实际函数时让this
引用您期望的上下文。有几种方法可以实现这一点,您可以尝试:
onClick={ this.handlePress.bind(this) }
或使用箭头功能(自动绑定):
onClick={() => { this.handlePress() } }
或者在组件的构造函数中(假设您使用class
语法):
constructor(props) {
super(props);
this.onClick = this.onClick.bind(this);
}
这更有效,因为每次重新渲染时都不会创建新函数。
在React Native中,你可以以更好的方式实现它(因为它已经包含了babel插件):
handlePress = (event) => {
...
}