react-native - 使用 TouchableHighlight 创建自定义按钮

标签 react-native

我正在尝试使用 TouchableHighlight 实现自定义按钮

我创建了一个按钮类,并将其导入到我的主程序中,如下所示:

在button.js中:

export default class Button extends React.Component {
    render() {
        return (
            <TouchableHighlight>
                <View style={styles.button}>
                    <Text style={styles.buttonText}>
                    </Text>
                </View>
            </TouchableHighlight>
        )
    }
}

在 app.js 中:

import Button from './button'


<View>
     <Button onPress={ () => navigate('Chat', { user: 'Abe' })} title = "Abe"
     />
</View> 

当我运行这个程序时,我只是得到一个空白按钮,没有文本或 onPress 事件。

如何将 onPress 和 title 值传递给 Button 类?

谢谢!

最佳答案

您需要访问 Button 组件中的 props。

export default class Button extends React.PureComponent {
  render() {
    const { onPress, title } = this.props;
    return (
      <TouchableHighlight onPress={onPress}>
        <View style={styles.button}>
            <Text style={styles.buttonText}>
              {title}
            </Text>
        </View>
      </TouchableHighlight>
    )
  }
}

关于react-native - 使用 TouchableHighlight 创建自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44118298/

相关文章:

react-native - 如何使用 Detox 单击此对话框?明显的解决方案,但我仍然无法点击它

icons - 如何向 React Native 应用程序添加图标

android - 运行react-native run-android 构建成功,但停留在启动应用程序

javascript - React Native map View 初始渲染

react-native - react native 操作栏和 react native 菜单

react-native - 如何在 android 的 React Native 中打开开发捆绑?

android - 使用 react 抽屉导航在 iOS 上 react native 崩溃

android - React Native iOS 和 Android 文件夹不存在

javascript - 有条件地在 3 个元素后添加一行 : ReactJS

javascript - 以编程方式关闭所有 React Native 模式警报/对话框?