Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 按节点ID查找元素 我正在构建一个反应本土化的应用程序,遇到一些问题,试图通过Node ID. 找到一个元素。_Forms_Reactjs_React Native - Fatal编程技术网

Forms 按节点ID查找元素 我正在构建一个反应本土化的应用程序,遇到一些问题,试图通过Node ID. 找到一个元素。

Forms 按节点ID查找元素 我正在构建一个反应本土化的应用程序,遇到一些问题,试图通过Node ID. 找到一个元素。,forms,reactjs,react-native,Forms,Reactjs,React Native,一些背景: 我正在为我的注册表单使用一个表单库,它具有handleFormFocus函数。这会在任何一个输入被聚焦时触发。为该函数提供的参数是事件和组件ID(整数),这两个参数都没有为我提供任何有用的信息,说明实际关注的是哪个输入(即“电子邮件”),而是只给我一个ID 当我使用react native 0.34时,我能够执行以下操作: const ReactNativeComponentTree=require('react/lib/ReactNativeComponentTree'); 让t

一些背景:

我正在为我的注册表单使用一个表单库,它具有handleFormFocus函数。这会在任何一个输入被聚焦时触发。为该函数提供的参数是事件和组件ID(整数),这两个参数都没有为我提供任何有用的信息,说明实际关注的是哪个输入(即“电子邮件”),而是只给我一个ID

当我使用react native 0.34时,我能够执行以下操作:


const ReactNativeComponentTree=require('react/lib/ReactNativeComponentTree');
让targetComponent=ReactNativeComponentTree.getInstanceFromNode(组件);
设inputRef=targetComponent.\u currentElement.props.fieldRef;

但是,由于更新到0.41,这不再有效。我得到以下错误:
无法解析模块react/lib/ReactNativeComponentTree

有人知道如何使用react native 0.41通过元素id查找元素吗

谢谢你的时间

反应0.41+:

import ReactNativeComponentTree from 'react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree';
反应0.51+:

import ReactNativeComponentTree from 'react-native/Libraries/Renderer/shims/ReactNativeComponentTree';
反应0.41+:

import ReactNativeComponentTree from 'react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree';
反应0.51+:

import ReactNativeComponentTree from 'react-native/Libraries/Renderer/shims/ReactNativeComponentTree';

在react native中为元素使用id被认为是一种反模式。为什么不传一个裁判?@PaulBGD你说得对。我使用ref时遇到了异常的问题,因为我使用的表单库不清楚如何访问输入字段的isFocused属性,因为该库是如何包装TextInput组件的。不管怎么说,你的回答激励我去弄明白。谢谢@PaulBGD:如果你能告诉我们文档中警告这是一种反模式,那就太好了。在文档中也很难找到如何以批准的方式实现相同的目标。尤其是在将数组映射到列表时生成的组件。在react native中为元素使用id被认为是一种反模式。为什么不传一个裁判?@PaulBGD你说得对。我使用ref时遇到了异常的问题,因为我使用的表单库不清楚如何访问输入字段的isFocused属性,因为该库是如何包装TextInput组件的。不管怎么说,你的回答激励我去弄明白。谢谢@PaulBGD:如果你能告诉我们文档中警告这是一种反模式,那就太好了。在文档中也很难找到如何以批准的方式实现相同的目标。尤其是在将数组映射到列表时生成的组件。由于在react-native repo(请参见此处:)上更新react 16.4,此模块似乎不再公开,因此在此提交中删除了文件::/react-native repo上更新react 16.4(请参见此处:)后,此模块似乎不再公开,已在此提交中删除文件::/