From 6bf9e0fcd5a4fb5bb1ca6b42bccf91a57eb59067 Mon Sep 17 00:00:00 2001 From: Ibrahim Mkusa Date: Fri, 28 Apr 2023 00:02:01 -0400 Subject: ex2.5 modulize helper components --- part2/courseinfo2/src/App.js | 56 +---------------------------- part2/courseinfo2/src/components/Course.js | 57 ++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 55 deletions(-) create mode 100644 part2/courseinfo2/src/components/Course.js diff --git a/part2/courseinfo2/src/App.js b/part2/courseinfo2/src/App.js index 720ea29..186af0d 100644 --- a/part2/courseinfo2/src/App.js +++ b/part2/courseinfo2/src/App.js @@ -1,58 +1,4 @@ -const Header = (props) => { - const header = props.name - return ( -

{header}

- ) -} - -const Part = (props) => { - const name = props.name - const exercises = props.exercises - - return ( -

{name} {exercises}

- ) -} - -const Content = (props) => { - //const object_1 = props.parts.parts[0] - //const object_2 = props.parts.parts[1] - //const object_3 = props.parts.parts[2] - const parts = props.parts - - return ( - <> - {parts.map((part) => { - return ( - - )}) - } - - ) -} - -const Total = (props) => { - const parts = props.parts - const initialValue = 0 - - return (

Number of exercises {parts.reduce((sum, part) => { - return sum += part.exercises - - }, initialValue)}

- ) -} - -const Course = (props) => { - const header = props.course.name - const parts = props.course.parts - return ( - <> -
- - - - ) -} +import Course from './components/Course' const App = () => { const courses = [ diff --git a/part2/courseinfo2/src/components/Course.js b/part2/courseinfo2/src/components/Course.js new file mode 100644 index 0000000..e7c86e0 --- /dev/null +++ b/part2/courseinfo2/src/components/Course.js @@ -0,0 +1,57 @@ +const Header = (props) => { + const header = props.name + return ( +

{header}

+ ) +} + +const Part = (props) => { + const name = props.name + const exercises = props.exercises + + return ( +

{name} {exercises}

+ ) +} + +const Content = (props) => { + //const object_1 = props.parts.parts[0] + //const object_2 = props.parts.parts[1] + //const object_3 = props.parts.parts[2] + const parts = props.parts + + return ( + <> + {parts.map((part) => { + return ( + + )}) + } + + ) +} + +const Total = (props) => { + const parts = props.parts + const initialValue = 0 + + return (

Number of exercises {parts.reduce((sum, part) => { + return sum += part.exercises + + }, initialValue)}

+ ) +} + +const Course = (props) => { + const header = props.course.name + const parts = props.course.parts + return ( + <> +
+ + + + ) +} + +export default Course -- cgit v1.2.3