TouchableOpacity和按钮不能在反应本机模态中工作?

我创建了反应本机模态,但是当用户尝试单击它时,TouchableOpacity和Button却没有被单击,为什么?


代码:(第1部分)


<Modal

          animationType="slide"

          transparent={false}

          visible={this.state.modalVisible}

          onRequestClose={() => {

            Alert.alert('Modal has been closed.');

          }}>

          <View style={{marginTop: 22}}>

            <View>

              <FilterScreen/>

              <TouchableHighlight

                onPress={() => 

                  this._setModalVisible(!this.state.modalVisible)

                }>

                <Text>Hide Modal</Text>

              </TouchableHighlight>

            </View>

          </View>

        </Modal>

FilterScreen组件:


return(

   <View>

      <TouchableOpacity>

           <Text>Inside Filter screen</Text>

      </TouchableOpacity>

    </View>

)

在上面的代码中,我添加了其中具有touchableOpacity的FilterScreen组件,但是当模式打开时,我无法单击toucableopacity组件,它仅以模式显示它,而onClick不起作用。


代码:(第2部分)


<Modal

          animationType="slide"

          transparent={false}

          visible={this.state.modalVisible}

          onRequestClose={() => {

            Alert.alert('Modal has been closed.');

          }}>

          <View style={{marginTop: 22}}>

            <View>

               <TouchableOpacity>

                 <Text>Inside Filter screen</Text>

               </TouchableOpacity>

              <TouchableHighlight

                onPress={() => 

                  this._setModalVisible(!this.state.modalVisible)

                }>

                <Text>Hide Modal</Text>

              </TouchableHighlight>

            </View>

          </View>

        </Modal>

如果我在Modal中添加touchableOpacity但上面的代码可以运行,但filterscreen中的相同代码不能通过添加组件来工作,为什么呢?


注意:第1部分不起作用,但是第2部分代码起作用,为什么呢?


慕后森
浏览 348回答 3
3回答

一只萌萌小番薯

我的问题是我TouchableOpacity从react-native-gesture-handler包中导入了,而不是从包中导入了default react-native。那是我自动完成选择解决的程序包。将导入更改为其他软件包后,它又可以按预期工作。import&nbsp;{&nbsp;TouchableOpacity&nbsp;}&nbsp;from&nbsp;'react-native';

绝地无双

尝试重建项目,如果有时在开发过程中通过启用的热重载来使用重载应用程序,或者在模式打开时通过命令+ r重载,可能会破坏功能,就我而言。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript