我正在构建一个本机反应应用程序并遇到问题,试图通过它的节点ID找到一个元素。
某些背景信息:
我正在使用Form库来获取具有handleFormFocus函数的寄存器表单。只要任何一个输入被聚焦,就会触发此操作。提供给该函数的参数是事件和组件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
任何人都知道如何通过其本身的反应原生0.41来找到一个元素?
谢谢你的时间!
答案 0 :(得分:0)
反应0.41 +:
import ReactNativeComponentTree from 'react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree';
反应0.51 +:
import ReactNativeComponentTree from 'react-native/Libraries/Renderer/shims/ReactNativeComponentTree';