Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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 对象作为React子对象无效(找到:具有键{arr}的对象)。如果要呈现子对象集合,请改用数组_Javascript_Arrays_Reactjs - Fatal编程技术网

Javascript 对象作为React子对象无效(找到:具有键{arr}的对象)。如果要呈现子对象集合,请改用数组

Javascript 对象作为React子对象无效(找到:具有键{arr}的对象)。如果要呈现子对象集合,请改用数组,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,searchf.jsx import emojipedia from "./emojipedia"; function Search(props) { var arr = []; emojipedia.forEach((element) => { var flag = 0; element.keywords.forEach((key) => { if (key.toLowerCase() =

searchf.jsx

import emojipedia from "./emojipedia";

function Search(props) {
    var arr = [];
    emojipedia.forEach((element) => {
        var flag = 0;
        element.keywords.forEach((key) => {
            if (key.toLowerCase() === props.toLowerCase()) {
                flag = 1;
            }
        });
        if (flag === 1) {
            arr.push(element);
        }
    });
    console.log(arr, typeof arr);
    return { arr };
}
export default Search;
App.js

var arr = [];
{ arr.map((obj) => {
           <button onClick={() => {
                            console.log(obj.emoji);
                            setEmo(obj.emoji);
                            document.getElementsByClassName("cls")[0].style.display =
                            "block";
                        }}
                        className="emoji"
                        >
                        {obj.emoji}
                        </button>;
                    })}
var arr=[];
{arr.map((obj)=>{
{
console.log(obj.emoji);
setEmo(obj.emoji);
document.getElementsByClassName(“cls”)[0].style.display=
“块”;
}}
className=“表情符号”
>
{obj.emoji}
;
})}
Search是searchf.jsx中的一个函数,用于从传递参数为关键字的数据中搜索所有表情。 并返回对象数组。 但是我无法通过数组进行映射
app.js中的arr.map出错

您返回的是
对象
,而不是
数组
(搜索函数中的最后一条语句)

只用

return arr;
而不是

return { arr };
您的错误也解释了这一点: 对象作为React子对象无效(找到:具有键{arr}的对象)


.map
仅适用于数组

emojipedia中有什么?
App.js
似乎不完整。此外,映射函数中没有返回任何内容。您应该返回
arr.map
中的按钮。