From 256493ca988aee004d30b7d93411b7518cd004dc Mon Sep 17 00:00:00 2001 From: Alina Isakova Date: Mon, 14 Aug 2023 20:10:09 +0300 Subject: [PATCH 1/2] react person --- src/App.jsx | 24 ++++++++++-------------- src/components/Person/Person.jsx | 24 +++++++++++++++++++++++- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index dcf8509c8..bffcc7fdf 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,5 +1,6 @@ import React from 'react'; import './App.scss'; +import { Person } from './components/Person/Person'; export const misha = { name: 'Misha', @@ -25,21 +26,16 @@ export const alex = { export const App = () => (
-
-

My name is Misha

-

I am 37

-

Natasha is my wife

-
+ -
-

My name is Olya

-

Maksym is my husband

-
+ -
-

My name is Alex

-

I am 25

-

I am not married

-
+
); diff --git a/src/components/Person/Person.jsx b/src/components/Person/Person.jsx index eccf156a3..b525ec4e7 100644 --- a/src/components/Person/Person.jsx +++ b/src/components/Person/Person.jsx @@ -1 +1,23 @@ -// export const Person = ({ person }) => (); +export const Person = ({ person }) => ( +
+ <> +

+ {`My name is ${person.name}`} +

+ + {person.age && ( +

+ {`I am ${person.age}`} +

+ )} + +

+ {person.isMarried === true ? ( + `${person.partnerName} is my ${person.sex === 'm' ? 'wife' : 'husband'}` + ) : ( + 'I am not married' + )} +

+ +
+); From 3bb5268dc1267e63ddedf63fae5ce03fedc12987 Mon Sep 17 00:00:00 2001 From: Alina Isakova Date: Tue, 15 Aug 2023 09:52:42 +0300 Subject: [PATCH 2/2] react person with destructing & variable --- README.md | 2 +- src/App.jsx | 12 +++------ src/components/Person/Person.jsx | 45 ++++++++++++++++++-------------- 3 files changed, 29 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 3424ccb86..a2ec49ee7 100644 --- a/README.md +++ b/README.md @@ -12,4 +12,4 @@ and use it 3 times inside the `App` instead of static markup. ## Instructions - Implement a solution following the [React task guideline](https://github.com/mate-academy/react_task-guideline#react-tasks-guideline). - Open one more terminal and run tests with `npm test` to ensure your solution is correct. -- Replace `` with your Github username in the [DEMO LINK](https://.github.io/react_person/) and add it to the PR description. +- Replace `` with your Github username in the [DEMO LINK](https://alina-isakova.github.io/react_person/) and add it to the PR description. diff --git a/src/App.jsx b/src/App.jsx index bffcc7fdf..6b852f9bc 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -26,16 +26,10 @@ export const alex = { export const App = () => (
- + - + - +
); diff --git a/src/components/Person/Person.jsx b/src/components/Person/Person.jsx index b525ec4e7..c39b95710 100644 --- a/src/components/Person/Person.jsx +++ b/src/components/Person/Person.jsx @@ -1,23 +1,28 @@ -export const Person = ({ person }) => ( -
- <> -

- {`My name is ${person.name}`} -

+export const Person = ({ person }) => { + const { name, age, sex, isMarried, partnerName } = person; + const partner = sex === 'm' ? 'wife' : 'husband'; - {person.age && ( -

- {`I am ${person.age}`} -

- )} + return ( +
+ <> +

+ {`My name is ${name}`} +

-

- {person.isMarried === true ? ( - `${person.partnerName} is my ${person.sex === 'm' ? 'wife' : 'husband'}` - ) : ( - 'I am not married' + {age && ( +

+ {`I am ${age}`} +

)} -

- -
-); + +

+ {isMarried ? ( + `${partnerName} is my ${partner}` + ) : ( + 'I am not married' + )} +

+ +
+ ); +};