Button和TouchableOpacity对onPress事件不起作用

时间:2019-07-31 07:48:05

标签: react-native button touchableopacity

我有以下代码:

import React, {Component} from 'react';
import {Platform, ScrollView, StyleSheet, Text, TextInput, TouchableOpacity, View,} from 'react-native';
import {Alert} from "react-native-web";


export default class HomeScreen extends Component {

    state = {text: ''};

    _onPressSearch() {
        Alert.alert("Button pressed!")
    }

    render() {
        return (<View style={styles.container}>
            <ScrollView style={styles.scrollViewContainer} contentContainerStyle={styles.contentContainer}>
                <View style={styles.searchContainer}>

                    <TextInput placeHolder="Type something!" onChangeText={(text) => this.setState({text})}
                               value={this.state.text}/>

                </View>

                <TouchableOpacity
                    onPress={this._onPressSearch}>
                    <View>

                        <Text>Search</Text>

                    </View>
                </TouchableOpacity>

                <View style={styles.listContainer}>

                    <Text>{this.state.text}</Text>

                </View>



            </ScrollView>


        </View>

我的问题是,当我单击TouchableOpacity时,没有任何动作(在我的情况下显示警报)。我试图将ToachableOpacity和View组合更改为常规按钮,但没有再发生任何变化。那么,有什么问题,我该如何解决?

1 个答案:

答案 0 :(得分:1)

看文档似乎Alert内的react-native-web尚未完成(https://github.com/necolas/react-native-web)。 这是关于react-native-web警报的问题:https://github.com/necolas/react-native-web/issues/1026

尝试使用默认的JavaScript警报执行alert("Button pressed!")或从react-native导入Alert

代码看起来不错