首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >touchableHighlight不能在带有typescript的react-native中工作

touchableHighlight不能在带有typescript的react-native中工作
EN

Stack Overflow用户
提问于 2019-04-17 21:25:24
回答 3查看 370关注 0票数 0

在我的代码中,我使用了包含IconTouchableHighlight。但当我点击它时,没有任何happens.It看起来像图像。TouchableHighlight的效果不是渲染。这个项目是使用带有typescript的react native完成的。

但是,同样的代码可以很好地工作,TouchableHighlight在react-native中的效果也很好。

下面是代码。

<TouchableHighlight style={styles.plusIconView} onPress={ () => this.signIn() }>

代码语言:javascript
复制
      `<Icon  name="plus" color="white"size={28} />                               </TouchableHighlight>`

这是style类

plusIconView: { width: 30, height: 30, backgroundColor: '#42d4f4', borderRadius: 50, alignItems: 'center', marginLeft: "5%" }

函数signIn实现正确。我如何解决这个问题。

EN

回答 3

Stack Overflow用户

发布于 2019-04-18 12:49:22

我想通了。我将其插入到App.tsx中的View中。

<View style={{flex:1}}> <ProfileCard /> </View>

它现在起作用了。

票数 1
EN

Stack Overflow用户

发布于 2019-04-17 21:31:34

你可以添加console.log("Button touched")而不是this.signIn()吗?以确保Typescript代码被正确编译。下一步是找出在Typescript版本中什么是this。在vanilla javascript中,this指的是执行上下文,而在typescript中,它指的是更直观的词法作用域,因此您可以:

在没有this

  • Or的情况下,
  1. 尝试重构和调用函数,通过redux props传递函数,并将其调用为this.props.onPress().
票数 0
EN

Stack Overflow用户

发布于 2019-04-17 21:46:02

你能用style={{ flex: 1 }}替换你的样式对象并尝试一下吗?

代码语言:javascript
复制
  <TouchableHighlight style={{ flex: 1 }} onPress={ () => console.log('test')} >
<Icon  name="plus" color="white"size={28} /> 
</TouchableHighlight>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55728616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档