我正在构建一个反应原生应用程序,并在尝试通过节点 ID 查找元素时遇到问题。
一些背景:
我正在为具有句柄窗体焦点函数的注册窗体使用窗体库。只要任何一个输入聚焦,就会触发此操作。提供给该函数的参数是事件和组件 ID(整数(,它们都没有为我提供有关实际关注的输入的任何有用信息(即"电子邮件"(,而是只给我一个 ID。
当我使用 react-native 0.34 时,我能够执行以下操作:
const ReactNativeComponentTree = require('react/lib/ReactNativeComponentTree');
let targetComponent = ReactNativeComponentTree.getInstanceFromNode(component);
let inputRef = targetComponent._currentElement.props.fieldRef;
但是自从更新到 0.41 后,这不再有效。我收到以下错误: Unable to resolve module react/lib/ReactNativeComponentTree
有人知道如何使用 react native 0.41 完成通过元素的 id 查找元素吗?
谢谢你的时间!
React 0.41+:
import ReactNativeComponentTree from 'react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree';
反应 0.51+:
import ReactNativeComponentTree from 'react-native/Libraries/Renderer/shims/ReactNativeComponentTree';