ES6 Module
- named : importing name should be same
- default : you can customise importing name
1. named import
// src/books.js
export const books = [
{
author: 'Charles Dickens',
title: 'Interesting Topics',
img: './images/book-1.jpg',
id: 1,
},
{
author: 'Laura Dave',
title: 'The Last Thing He Told Me',
img: './images/book-2.jpg',
id: 2,
},
];
// src/index.js
// name export
// : function name to import should be same
import { books } from './books';
2. default import
// src/books.js
const books = [
{
author: 'Charles Dickens',
title: 'Interesting Topics',
img: './images/book-1.jpg',
id: 1,
},
{
author: 'Laura Dave',
title: 'The Last Thing He Told Me',
img: './images/book-2.jpg',
id: 2,
},
];
// only one default function available per one file
export default books;
// src/index.js
// name export
// : function name to import should be same
// import books from './books';
import listOfBook from './books';
books 뿐만 아니라 다른 이름 listOfBook으로도 import할 수 있다. 왜냐하면 한 파일당 하나씩 default export하기 때문이다.
// src/index.js
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
// data
import books from './books';
// components
import Book from './Book';
const BookList = () => {
return (
<section className='booklist'>
{books.map((book) => {
return <Book {...book} key={book.id} />;
})}
</section>
);
};
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<BookList />);
데이터와 컴포넌트들을 따로 나누니 index.js가 깔끔해졌다.
'Research > React' 카테고리의 다른 글
React_logo import하기 (0) | 2023.04.24 |
---|---|
React_local images(src folder) (0) | 2023.04.24 |
React_prop으로 받아온 함수 작동 안되는 문제. 래퍼 함수, 익명 함수로 해결하기 (0) | 2023.04.24 |
React_Form submission (0) | 2023.04.24 |
React_props 깔끔하게 가져오기 (0) | 2023.04.24 |
댓글