我使用react-native-icons个软件包来包含带有按钮的图标.他们有example folder中列出的示例代码.我试图在视图上实现onPress,但事实证明react native没有<View>组件的onPress函数.

我try 使用<TouchableHighlight>,但它只能有一个子元素,而不是像<Icon><Text>这样的两个子元素.

我也试过用<Text>,里面有<Icon><Text>,但是<Text>里面只能有<Text>个元素.

有谁有幸实现类似的功能吗?

带图标的示例按钮

<View onPress={this.onBooking} 
  style={styles.button}>
  <Icon
    name='fontawesome|facebook-square'
    size={25}
    color='#3b5998'
    style={{height:25,width:25}}/>
  <Text style={styles.buttonText}>Sign In with Facebook</Text>
</View>

推荐答案

如果您使用的是react-native-icons模块,您可以try 在视图中同时包装图标和文本,然后在其顶部使用TouchableHighlight.比如:

<TouchableHighlight onPress={()=>{}}>
     <View>
         <Icon ... />
         <Text ... />
     </View>
 </TouchableHighlight>

但如果你使用相对较新的模块react-native-vector-icons,这将非常容易.你可以这样做:

<Icon name="facebook" style={styles.icon}>
   <Text style={styles.text}>Login with Facebook</Text>
</Icon>

React-native相关问答推荐

FlatList有时不会在数据更改时重新呈现

莫迪德不会停留在屏幕中央

获取 TypeError:this.InnerNativeModule.configureProps 不是 mac 上 expo 中的函数

打开屏幕后自动显示键盘

无法执行 JS 调用:__fbBatchedBridge 未定义

react-native 中的layout-only view removal优化是什么?

Firebase JavaScript SDK 和 react-native-firebase 有什么区别

缺少请求的请求令牌

如何使用 React Navigation 使 TabNavigator 按钮推送模态屏幕

React Native:双击退出应用程序

使用像 React Navigation 这样的基于 JS 的导航解决方案优缺点?

textAlignVertical不是有效的样式属性

在 React Native 中无法滚动到 ScrollView 的底部

当 textInput 聚焦时,第一次touch flatList 不起作用,但是第二次起作用

词法或预处理器问题 - 未找到 event2/event-config.h 文件

try 在 Android 上运行我的 React Native 应用程序时出错

如何使用特定目标运行 react-native run-ios

在 React Native 中,如何使用浅渲染测试我的组件?

如何构建一个 react-native 应用程序,以便它在 ipad 上作为 ipad 应用程序运行?

将 Picker 绑定到 React Native 中的 Picker.Item 列表