如何检测用户是否在react native中关闭键盘,我想在用户关闭键盘时调用一个函数.

如果您能回答检测键盘是否打开,我们将不胜感激,谢谢.

我是最新version 0.56

推荐答案

1. You can use Keyboard class from facebook.

下面是一个示例代码.

import React, { Component } from 'react';
import { Keyboard, TextInput } from 'react-native';

class Example extends Component {
  componentWillMount () {
    this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow);
    this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide);
  }
    
  componentWillUnmount () {
    this.keyboardDidShowListener.remove();
    this.keyboardDidHideListener.remove();
  }
    
  _keyboardDidShow () {
    alert('Keyboard Shown');
  }
    
  _keyboardDidHide () {
    alert('Keyboard Hidden');
  }
    
  render() {
    return (
      <TextInput
        onSubmitEditing={Keyboard.dismiss}
      />
    );
  }
}

###2. 您还可以使用其他一些npm依赖项,比如100.

将组件导入到要使用它的文件中:

import KeyboardListener from 'react-native-keyboard-listener';

直接在代码中使用组件.组件不会渲染任何内容

<View>
  <KeyboardListener
    onWillShow={() => { this.setState({ keyboardOpen: true }); }}
    onWillHide={() => { this.setState({ keyboardOpen: false }); }}
  />
</View>

要安装此依赖项,请运行以下命令.

npm install --save react-native-keyboard-listener

Choose any you feel more convenient.

React-native相关问答推荐

Firebase身份验证Redux使用说明

无法设置文本输入参考

如何在react native 中从 axios 重定向并将数据传递给路由

我应该什么时候调用 realm.close()?

React Native Navigation const { navigate } = this.props.navigation;

如何在 react native 中以 redux 形式设置隐藏字段?

reactnavigation后退按钮的自定义后退导航

无法在 React Native iOS 模拟器中按 URI 显示图像

TouchableOpacity 作为 ListView 中的 Item 仅在 TextInput 失go 焦点后做出响应

如何在 react-native 中获取组件的大小?

React Native this.'function' 不是函数

试图注册两个同名的视图 RNGestureHandlerButton

React-native Xcode 构建失败 -> 'RCTAssert.h file not found'

在 react-native-maps 中渲染多个标记

ScrollView bounce的 2 种不同背景 colored颜色

有react-native复选框的例子吗?

如何在样式组件之外获取主题?

React Native - 如何从推送通知中打开路由

React 本机矢量图标在当前版本 0.60 上不起作用

如何从react-native应用程序打开外部应用程序?