Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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
Javascript 数组未呈现为子对象的集合_Javascript_Reactjs - Fatal编程技术网

Javascript 数组未呈现为子对象的集合

Javascript 数组未呈现为子对象的集合,javascript,reactjs,Javascript,Reactjs,我有一个钩子,提示符。其中一个道具是包含一些字段名作为键的对象。 我使用这些字段和一些创建了一个表单。这就是钩子字段返回的内容。 它是从数组渲染的。我将此数组记录在log-A中。以下是我得到的: 这让我相信这是一系列的反应成分 我正在尝试创建一个函数,用于获取此表单的结果。 为此,我想使用ref={fieldsRef}遍历的子项。因为它只包含一个react组件的列表,所以我想我可以只获取它的子组件并使用react.children.toArray() 这是行不通的 const提示符=(道具)=>

我有一个钩子,
提示符
。其中一个道具是包含一些字段名作为键的对象。
我使用这些字段和一些
创建了一个表单。这就是钩子
字段返回的内容。
它是从数组渲染的。我将此数组记录在
log-A
中。以下是我得到的:

这让我相信这是一系列的反应成分

我正在尝试创建一个函数,用于获取此表单的结果。
为此,我想使用
ref={fieldsRef}
遍历
的子项。因为它只包含一个react组件的列表,所以我想我可以只获取它的子组件并使用
react.children.toArray()

这是行不通的

const提示符=(道具)=>{
//...
常量字段=()=>{
让fieldKeys=Object.keys(props.fields);
让字段=[];
for(让字段键中的字段键){
推(
{props.fields[fieldKey]}
);
}
console.log(字段);//log-A
返回(
{fields}
);
}
常量getForm=()=>{
console.log(fieldsRef);//log-B
let current=fieldsRef.current.children;
让children=React.children.toArray(当前);
返回0;
}
//...
}
log-B
,输出为
div
。它是
当前的
中有
子项

尝试访问此文件的子级时出错

Uncaught Error: Objects are not valid as a React child (found: [object HTMLDivElement]). If you meant to render a collection of children, use an array instead.
我做错了什么,无法使用
React.children.toArray()
,访问这些子级并转换为数组?

看起来getForm()将
{fields}
本身视为一个对象,而不是您试图引用的数组。尝试将
字段
变量声明移动到Prompt()范围中,而不是嵌套在fields()下


也可以考虑使用Chrome,它可以真正帮助用道具和钩子调试问题。

更改<代码> {字段} /代码>到<代码> {(=)>字段} /代码> .doMiNK,这不会导致从<代码>字段< /COD>中出现什么,可悲的是,这并不能解决这个问题。感谢开发工具扩展中的提示-将立即下载。