Javascript 读取React中的对象数组将返回一个对象
其中有一个Javascript 读取React中的对象数组将返回一个对象,javascript,reactjs,Javascript,Reactjs,其中有一个books.js文件,其中包含一组对象,这些对象被导出,然后导入到components/BookList.js中。我假设书籍将按原样导入(对象数组),但它实际上是一个对象。因此,作者使用constbooklist=Object.values(books)获得一个数组,该数组可以使用map进行迭代 为什么导入后books不是数组?books.js的内容、它在BookList.js中导入的方式,或者它的本意是否有问题?而不是执行const BookList=Object.values(bo
books.js
文件,其中包含一组对象,这些对象被导出,然后导入到components/BookList.js
中。我假设书籍
将按原样导入(对象数组),但它实际上是一个对象。因此,作者使用constbooklist=Object.values(books)
获得一个数组,该数组可以使用map
进行迭代
为什么导入后
books
不是数组?books.js
的内容、它在BookList.js
中导入的方式,或者它的本意是否有问题?而不是执行const BookList=Object.values(books)
并使用.map()
迭代bookList
,您应该执行books.map()
这是一个数组,这就是您使用的codesandbox使其看起来像对象的方式
import React from "react";
import Book from "./Book";
import { books } from "../books";
const BookList = () => {
return (
<section>
{books.map((book) => (
<article key={`${book.title}.toLowerCase().split(" ").join("-")}`}>
<Book
title={book.title}
author={book.author}
image={book.imageLink}
altText={book.title}
/>
</article>
))}
</section>
);
};
export default BookList;
从“React”导入React;
从“/Book”导入图书;
从“./books”导入{books};
常量BookList=()=>{
返回(
{books.map((book)=>(
))}
);
};
导出默认书目;
它将作为对象数组导入<代码>对象。值(书籍)将为您提供相同的数组。根本不需要。在本例中,不需要使用Object.values
。谢谢!我也很惊讶地看到了这一点,所以我放了一个console.log来查看类型,我相信我看到的是一个对象而不是数组。