按节点ID

时间:2017-02-13 02:05:57

标签: forms reactjs react-native

我正在构建一个本机反应应用程序并遇到问题,试图通过它的节点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来找到一个元素?

谢谢你的时间!

1 个答案:

答案 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';