index.js
import React from "react";
import ReactDOM from "react-dom";
import App from "./components/App";
ReactDOM.render(<App />, document.getElementById("root"));
//Challenge. Render all the notes inside notes.js as a seperate Note
//component.
note.js
const notes = [
{
key: 1,
title: "Delegation",
content:
"Q. How many programmers does it take to change a light bulb? A. None – It’s a hardware problem"
},
{
key: 2,
title: "Loops",
content:
"How to keep a programmer in the shower forever. Show him the shampoo bottle instructions: Lather. Rinse. Repeat."
},
{
key: 3,
title: "Arrays",
content:
"Q. Why did the programmer quit his job? A. Because he didn't get arrays."
},
{
key: 4,
title: "Hardware vs. Software",
content:
"What's the difference between hardware and software? You can hit your hardware with a hammer, but you can only curse at your software."
},
{
key: 5,
title: "Big ideas",
content: "Eat more sushi"
}
];
export default notes;
App.js
import React from "react";
import Header from "./Header";
import Footer from "./Footer";
import Note from "./Note";
import notes from "../notes";
function App() {
return (
<div>
<Header />
{notes.map(noteItem => (
<Note
key={noteItem.key}
title={noteItem.title}
content={noteItem.content}
/>
))}
<Footer />
</div>
);
}
export default App;
Header.js
import React from "react";
function Header() {
return (
<header>
<h1>Keeper</h1>
</header>
);
}
export default Header;
Footer.js
import React from "react";
function Footer() {
const year = new Date().getFullYear();
return (
<footer>
<p>Copyright ⓒ {year}</p>
</footer>
);
}
export default Footer;
Note.js
import React from "react";
function Note(props) {
return (
<div className="note">
<h1>{props.title}</h1>
<p>{props.content}</p>
</div>
);
}
export default Note;
'프로그래밍 > Web' 카테고리의 다른 글
React Hook - useState (0) | 2024.05.06 |
---|---|
React Conditional Rendering with the Tenary Operator % AND Operator (0) | 2024.05.03 |
ES6 Arrow Functions (0) | 2024.05.01 |
Mapping Components (0) | 2024.04.29 |
ES6 Import/Export && Modules (0) | 2024.04.24 |