React Native-AccessibilityInfo.setAccessibilityFocus()中的reactTag参数是什么?

时间:2018-11-25 07:42:49

标签: android ios react-native

reactTag方法中的AccessibilityInfo.setAccessibilityFocus(reactTag)参数是什么? React native documentation不提供有关此参数的任何信息:

  

将可访问性焦点设置为React组件。在Android上,这等效   到UIManager.sendAccessibilityEvent(reactTag,   UIManager.AccessibilityEventTypes.typeViewFocused);。

我没有Objective-CJava的背景。一个小例子将不胜感激。谢谢!!!

1 个答案:

答案 0 :(得分:4)

reactTag只是一个数字,react用于标识应用程序中的视图对象。这是findNodeHandle函数的结果,该函数将视图引用作为参数。

以下是有关如何使用它的简单示例:

import React, {Component} from 'react'
import {
  ...
  findNodeHandle,
  ...
} from 'react-native';

class Sample extends React.Component {
    constructor(props) {
        super(props)
        this.viewRef = null;
    }

    ...

    componentDidMount() {
        if (this.viewRef) {
            const reactTag = findNodeHandle(this.viewRef);
            AccessibilityInfo.setAccessibilityFocus(reactTag);
        }
    }

    render() {
        return (
            <View ref={el => { this.viewRef = el }}>
                ...
            </View>
        )
    }
}