React Native - AccessibilityInfo.setAccessibilityFocus() 中的 reactTag 参数是啥?
Posted
技术标签:
【中文标题】React Native - AccessibilityInfo.setAccessibilityFocus() 中的 reactTag 参数是啥?【英文标题】:React Native - What is reactTag parameter in AccessibilityInfo.setAccessibilityFocus()?React Native - AccessibilityInfo.setAccessibilityFocus() 中的 reactTag 参数是什么? 【发布时间】:2018-11-25 07:42:48 【问题描述】:AccessibilityInfo.setAccessibilityFocus(reactTag)
方法中的reactTag
参数是什么? React native documentation 不提供关于这个参数的任何信息:
将可访问性焦点设置为 React 组件。在 android 上,这是等价的 到 UIManager.sendAccessibilityEvent(reactTag, UIManager.AccessibilityEventTypes.typeViewFocused);.
我没有Objective-C
和Java
的任何背景。一个小例子将不胜感激。谢谢!!!
【问题讨论】:
【参考方案1】: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>
)
【讨论】:
您好,想知道即使已经加载了组件并启用了可访问性,这是否仍然有效。换句话说,是否有可能仅在组件即将获得焦点之后才设置可访问性焦点? 我在使用这个解决方案时遇到了很多麻烦,请参阅***.com/questions/63252638/…以上是关于React Native - AccessibilityInfo.setAccessibilityFocus() 中的 reactTag 参数是啥?的主要内容,如果未能解决你的问题,请参考以下文章
react native 增加react-native-camera
更新 react-native-maps 以使用 create-react-native-app
react native 增加react-native-storage
React-Native 和 Expo:create-react-native-app 和 react-native init 之间的区别
什么是 react-native-cli 和 @react-native-community/cli?
React Native - 当 react-native 版本 > 0.55 时,无法通过 react-native-cli 创建新项目