mirror of
https://github.com/10h30/fullstackopen.git
synced 2026-06-05 15:08:33 +09:00
51 lines
1.1 KiB
JavaScript
51 lines
1.1 KiB
JavaScript
|
|
import React from 'react'
|
||
|
|
|
||
|
|
const App = () => {
|
||
|
|
const course = 'Half Stack application development'
|
||
|
|
const part1 = 'Fundamentals of React'
|
||
|
|
const exercises1 = 10
|
||
|
|
const part2 = 'Using props to pass data'
|
||
|
|
const exercises2 = 7
|
||
|
|
const part3 = 'State of a component'
|
||
|
|
const exercises3 = 14
|
||
|
|
|
||
|
|
return (
|
||
|
|
<div>
|
||
|
|
<Header course={course} />
|
||
|
|
<Content part={[part1,part2,part3]} exercises={[exercises1, exercises2, exercises3]} />
|
||
|
|
<Total exercises={[exercises1, exercises2, exercises3]} />
|
||
|
|
</div>
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
const Header = (props) => {
|
||
|
|
return (
|
||
|
|
<h1>{props.course}</h1>
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
const Content = (props) => {
|
||
|
|
return (
|
||
|
|
<div>
|
||
|
|
<Part part={props.part[0]} exercises={props.exercises[0]} />
|
||
|
|
<Part part={props.part[2]} exercises={props.exercises[1]} />
|
||
|
|
<Part part={props.part[2]} exercises={props.exercises[2]} />
|
||
|
|
</div>
|
||
|
|
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
const Part = (props) => {
|
||
|
|
return (
|
||
|
|
<p>{props.part} {props.exercises}</p>
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
const Total = (props) => {
|
||
|
|
return (
|
||
|
|
<p>Number of exercises {props.exercises[0] + props.exercises[1] + props.exercises[2]}</p>
|
||
|
|
//<p>1</p>
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
export default App
|