SlideShare a Scribd company logo
React ‫ל‬ ‫הקדמה‬
natankrasney@gmail.com
1
React ‫זה‬ ‫מה‬
●‫משתמש‬ ‫ממשק‬ ‫לבניית‬ JavaScript ‫ספרית‬ ‫היא‬ React
●HTML ‫דף‬ - ‫המשתמש‬ ‫ממשק‬ ‫לבנות‬ ‫אפשר‬ ‫ולכן‬ ‫בדפדפן‬ ‫רצות‬ React ‫אפליקציות‬
‫מידית‬ ‫שמגיב‬
●(‫בהמשך‬ ‫)נרחיב‬ JSX ‫ב‬ ‫כאן‬ ‫להשתמש‬ ‫מקובל‬
●MPA ‫ב‬ ‫גם‬ ‫אלא‬ SPA ‫ב‬ ‫רק‬ ‫לא‬ ‫להשתמש‬ ‫ניתן‬
natankrasney@gmail.com
2
‫בהתקנה‬ ‫צורך‬ ‫ללא‬ React ‫של‬ ‫פשוטה‬ ‫קוד‬ ‫דוגמת‬
<head><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script></head>
<body><div id="root"></div>
<script type="text/babel">
ReactDOM.render(<h1>hello world</h1>,document.getElementById('root'));
</script>
</body>
natankrasney@gmail.com
3
ES6 ‫ו‬ JSX ‫ב‬ ‫שימוש‬ ‫מאפשר‬
Components ‫וכתיבת‬ React ‫באלמנטי‬ ‫שימוש‬ ‫מאפשר‬
HTML document ‫ב‬ React ‫אלמנטי‬ ‫הצגת‬ ‫מאפשר‬
ES5 - ‫הדפדפנים‬ ‫ידי‬ ‫על‬ ‫שנתמכת‬ JS ‫לגירסת‬ ES6 - ‫מתקדמת‬ JS ‫מגרסת‬ ‫המרה‬
HTML ‫אלמנט‬ ‫בתוך‬ React ‫אלמנט‬ ‫מציג‬
Components
‫על‬ ‫מקל‬ ‫זה‬ , React ‫של‬ ‫הלב‬ ‫זה‬ Components ‫ל‬ React ‫ב‬ ‫לחלק‬ ‫נוח‬ ‫המשתמש‬ ‫ממשק‬ ‫את‬
code reuse ‫ומאפשר‬ ‫והתחזוקה‬ ‫הפיתוח‬
custom html element ‫על‬ ‫כמו‬ component ‫על‬ ‫לחשוב‬ ‫אפשר‬
natankrasney@gmail.com
4
‫ראשי‬ ‫תפריט‬
‫משני‬ ‫תפריט‬‫הדף‬ ‫תוכן‬
‫כפונקציה‬ Component ‫בשימוש‬ React ‫של‬ ‫קוד‬ ‫דוגמת‬
<head><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script></head>
<body>
<div id="root"></div>
<script type="text/babel">
function Greeting () {
return (<p>Hello world</p>)}
ReactDOM.render(<Greeting />,document.getElementById('root'));
</script>
</body>
natankrasney@gmail.com
5
‫פונקציה‬ ‫באמצעות‬ Greeting ‫בשם‬ component ‫מימוש‬
React.Component ‫את‬ ‫היורשת‬ ‫שהמחלקה‬ ‫פונקציה‬ ‫היא‬ render
.‫שלה‬ component‫ה‬ ‫של‬ view ‫ה‬ ‫את‬ ‫מחזירה‬ render .‫לממש‬ ‫חייבת‬
HTML ‫ה‬ ‫את‬ ‫מגדירים‬ ‫בעזרתו‬ JSX ‫באמצעות‬ ‫מיוצג‬ view‫ה‬
‫ב‬ state ‫אין‬ ‫כאשר‬ ‫המומלצת‬ ‫הצורה‬ ‫היא‬ function
component
‫כמחלקה‬ Component ‫בשימוש‬ React ‫של‬ ‫קוד‬ ‫דוגמת‬
<head><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script></head>
<body>
<div id="root"></div>
<script type="text/babel">
class Greeting extends React.Component {
render() { return (<p>Hello world</p>);}}
ReactDOM.render(<Greeting />,document.getElementById('root'));
</script>
</body>
natankrasney@gmail.com
6
- ‫מחלקה‬ ‫באמצעות‬ Greeting ‫בשם‬ component ‫מימוש‬
‫וירושה‬ class
React.Component ‫את‬ ‫היורשת‬ ‫שהמחלקה‬ ‫פונקציה‬ ‫היא‬ render
component‫ה‬ ‫של‬ view ‫ה‬ ‫את‬ ‫מחזירה‬ render .‫לממש‬ ‫חייבת‬
‫את‬ ‫מגדירים‬ ‫בעזרתו‬ JSX ‫באמצעות‬ ‫מיוצג‬ view‫ה‬ .‫שלה‬
HTML‫ה‬
‫ב‬ state ‫יש‬ ‫כאשר‬ ‫המומלצת‬ ‫הצורה‬ ‫היא‬ class
component
‫פרמטרים‬ ‫העברת‬ ‫עם‬ React ‫של‬ ‫פשוטה‬ ‫קוד‬ ‫דוגמת‬
<head><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script></head>
<body>
<div id="root"></div>
<script type="text/babel">
function Greeting(props) {
return (<p>{props.pText}</p>);}
ReactDOM.render(<Greeting pText="Hello world !!!" />,document.getElementById('root'));
</script>
</body>
natankrasney@gmail.com
7
.view ‫ל‬ JS‫מ‬ ‫פרמטרים‬ ‫העברת‬ ‫לצורך‬ props ‫ב‬ ‫שימוש‬
‫ידי‬ ‫על‬ ‫שמוגדר‬ key‫ל‬ ‫דוגמה‬ ‫הוא‬ pText ‫זה‬ ‫במקרה‬
‫אבא‬ component ‫וב‬ ‫בו‬ ‫בשימוש‬ ‫ונמצא‬ component‫ה‬
‫פרמטרים‬ ‫העברת‬ ‫עם‬ React ‫של‬ ‫פשוטה‬ ‫קוד‬ ‫דוגמת‬
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
function Greeting(props) {return (<p>{props.children}</p>);}
ReactDOM.render(<Greeting>Hello world with children !!!</Greeting>,document.getElementById('root'));
</script></body>
natankrasney@gmail.com
8
.view ‫ל‬ JS‫מ‬ ‫פרמטרים‬ ‫העברת‬ ‫לצורך‬ props ‫ב‬ ‫שימוש‬
‫להעביר‬ ‫שמאפשרת‬ ‫שמורה‬ ‫מילה‬ ‫היא‬ children ‫זה‬ ‫במקרה‬
‫אלמנט‬ ‫של‬ content ‫ה‬ ‫דרך‬ ‫תוכן‬
JSX
●JavaScript XML ‫של‬ ‫תיבות‬ ‫ראשי‬
●‫בזה‬ ‫להשתמש‬ ‫חייבים‬ ‫לא‬ ‫אבל‬ React ‫לשימוש‬ ‫מומלץ‬
●{} ‫בעזרת‬ JS ‫של‬ ‫חלקית‬ ‫פונקציונאליות‬ JSX ‫בתוך‬ ‫לרשום‬ ‫ניתן‬
●HTML ‫דמויי‬ ‫אלמנטים‬ XML ‫בעזרת‬ ‫להגדיר‬ ‫מאפשר‬
●‫לדוגמא‬ ‫שמאל‬ ‫בצד‬ ‫ולרשום‬ Try It Out ‫ללשונית‬ https://babeljs.io ‫אל‬ ‫להיכנס‬ ‫מומלץ‬
<div>Hello</div>
‫אליו‬ ‫מתרגם‬ ‫שזה‬ JavaScript ‫ה‬ ‫קוד‬ ‫את‬ ‫ימין‬ ‫בצד‬ ‫ולראות‬
"use strict";
React.createElement("div",null,"hello");
natankrasney@gmail.com
9
JSX ‫זה‬
JavaScript ‫זה‬
ES6
●2015 ‫בשנת‬ ‫שוחררה‬ ‫אשר‬ JavaScript ‫של‬ ‫של‬ ‫גרסה‬
●class - ‫במחלקה‬ ‫השימוש‬ ‫הוא‬ ‫שלה‬ features‫מה‬ ‫אחד‬ ‫בין‬
●React ‫ב‬ ‫נרחב‬ ‫בשימוש‬
natankrasney@gmail.com
10
Component ‫ללא‬ ‫דוגמא‬
<head><style>
.person {border: 1px solid black;width: 200px;padding: 20px;
box-shadow: 4px 4px #888888;margin: 10px;display: inline-block;}
</style></head>
<body>
<div class='person'><h1>Nathan</h1><p>Age : 23</p></div>
<div class='person'><h1>John</h1><p>Age : 33</p></div>
</body>
natankrasney@gmail.com
11
head ‫חלק‬ Component ‫עם‬ ‫הקודמת‬ ‫הדוגמה‬
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
<style>
.person {
border: 1px solid black;width: 200px;padding: 20px;
box-shadow: 4px 4px #888888;margin: 10px;display: inline-block;}
</style>
</head>
natankrasney@gmail.com
12
‫הבא‬ ‫בעמוד‬ body
body ‫חלק‬ Component ‫עם‬ ‫הקודמת‬ ‫הדוגמה‬
<body>
<div id="app"></div>
<script type="text/babel">
function Nathan () {
return (<div className='person'><h1>Nathan</h1><p>Age : 23</p></div>);}
function John () {
return (<div className='person'><h1>John</h1><p>Age : 33</p></div>);}
class App extends React.Component {render() { return( <div><John /><Nathan /></div>);}}
ReactDOM.render(<App />,document.getElementById("app"));</script>
</body>
natankrasney@gmail.com
13
‫ובתוכו‬ App ‫בשם‬ component root‫ב‬ ‫שימוש‬
Nathan , John ‫בשם‬ component ‫שני‬
Person ‫במחלקה‬ ‫שימוש‬ ‫בעזרת‬ ‫הקודמת‬ ‫הדוגמה‬ ‫שיפור‬
<body>
<div id="app"></div>
<script type="text/babel">
function Person (props) {
return (<div className='person'><h1>{props.name}</h1><p>Age : {props.age}</p></div>);}
class App extends React.Component {
render() { return( <div><Person name="John" age="33"/><Person name="Nathan" age="23"/></div>);}}
ReactDOM.render(<App />,document.getElementById("app"));
</script>
</body>
natankrasney@gmail.com
14
.component ‫יצרנו‬ Person ‫הפונקציה‬ ‫בעזרת‬
component‫ל‬ ‫העברנו‬ props ‫בעזרת‬
‫ארגומנטים‬

More Related Content

Similar to React introduction

Responsive Design
Responsive DesignResponsive Design
Responsive Design
Igal Steklov
 
Javascript ajax
Javascript ajaxJavascript ajax
Javascript ajax
Nathan Krasney
 
Angular 2 introduction
Angular 2 introductionAngular 2 introduction
Angular 2 introduction
Nathan Krasney
 
DoAT - mobile web-app development
DoAT - mobile web-app developmentDoAT - mobile web-app development
DoAT - mobile web-app developmentRan Byron
 
ADO.Net
ADO.NetADO.Net
javascript
javascriptjavascript
javascript
Nathan Krasney
 
ASP.net Web Pages
ASP.net Web PagesASP.net Web Pages
ASP.net Web Pages
Nathan Krasney
 
Angular 2 jump start
Angular 2 jump startAngular 2 jump start
Angular 2 jump start
Nathan Krasney
 
Serverless
ServerlessServerless
Serverless
Oded Rotter
 
JQuery
JQueryJQuery
Html5
Html5Html5

Similar to React introduction (12)

Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Javascript ajax
Javascript ajaxJavascript ajax
Javascript ajax
 
Angular 2 introduction
Angular 2 introductionAngular 2 introduction
Angular 2 introduction
 
DoAT - mobile web-app development
DoAT - mobile web-app developmentDoAT - mobile web-app development
DoAT - mobile web-app development
 
ADO.Net
ADO.NetADO.Net
ADO.Net
 
javascript
javascriptjavascript
javascript
 
ASP.net Web Pages
ASP.net Web PagesASP.net Web Pages
ASP.net Web Pages
 
Angular 2 jump start
Angular 2 jump startAngular 2 jump start
Angular 2 jump start
 
Serverless
ServerlessServerless
Serverless
 
JQuery
JQueryJQuery
JQuery
 
אחסון מידע - ל-websql ו-indexdb רן בר-זיק
אחסון מידע - ל-websql ו-indexdb רן בר-זיקאחסון מידע - ל-websql ו-indexdb רן בר-זיק
אחסון מידע - ל-websql ו-indexdb רן בר-זיק
 
Html5
Html5Html5
Html5
 

More from Nathan Krasney

Introduction to Semantic ui-react
Introduction to Semantic ui-reactIntroduction to Semantic ui-react
Introduction to Semantic ui-react
Nathan Krasney
 
Angular 2 - Typescript
Angular 2  - TypescriptAngular 2  - Typescript
Angular 2 - Typescript
Nathan Krasney
 
Angular 2 binding
Angular 2  bindingAngular 2  binding
Angular 2 binding
Nathan Krasney
 
ASP.net Security
ASP.net SecurityASP.net Security
ASP.net Security
Nathan Krasney
 
CSS
CSSCSS
Javascript with json
Javascript with jsonJavascript with json
Javascript with json
Nathan Krasney
 
HTML5
HTML5 HTML5
HTML
HTML HTML
Lessons learned from 6 month project with india based software house
Lessons learned from 6 month project with india based software houseLessons learned from 6 month project with india based software house
Lessons learned from 6 month project with india based software house
Nathan Krasney
 
Introduction to big data
Introduction to big data Introduction to big data
Introduction to big data
Nathan Krasney
 

More from Nathan Krasney (10)

Introduction to Semantic ui-react
Introduction to Semantic ui-reactIntroduction to Semantic ui-react
Introduction to Semantic ui-react
 
Angular 2 - Typescript
Angular 2  - TypescriptAngular 2  - Typescript
Angular 2 - Typescript
 
Angular 2 binding
Angular 2  bindingAngular 2  binding
Angular 2 binding
 
ASP.net Security
ASP.net SecurityASP.net Security
ASP.net Security
 
CSS
CSSCSS
CSS
 
Javascript with json
Javascript with jsonJavascript with json
Javascript with json
 
HTML5
HTML5 HTML5
HTML5
 
HTML
HTML HTML
HTML
 
Lessons learned from 6 month project with india based software house
Lessons learned from 6 month project with india based software houseLessons learned from 6 month project with india based software house
Lessons learned from 6 month project with india based software house
 
Introduction to big data
Introduction to big data Introduction to big data
Introduction to big data
 

React introduction

  • 2. React ‫זה‬ ‫מה‬ ●‫משתמש‬ ‫ממשק‬ ‫לבניית‬ JavaScript ‫ספרית‬ ‫היא‬ React ●HTML ‫דף‬ - ‫המשתמש‬ ‫ממשק‬ ‫לבנות‬ ‫אפשר‬ ‫ולכן‬ ‫בדפדפן‬ ‫רצות‬ React ‫אפליקציות‬ ‫מידית‬ ‫שמגיב‬ ●(‫בהמשך‬ ‫)נרחיב‬ JSX ‫ב‬ ‫כאן‬ ‫להשתמש‬ ‫מקובל‬ ●MPA ‫ב‬ ‫גם‬ ‫אלא‬ SPA ‫ב‬ ‫רק‬ ‫לא‬ ‫להשתמש‬ ‫ניתן‬ natankrasney@gmail.com 2
  • 3. ‫בהתקנה‬ ‫צורך‬ ‫ללא‬ React ‫של‬ ‫פשוטה‬ ‫קוד‬ ‫דוגמת‬ <head><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script></head> <body><div id="root"></div> <script type="text/babel"> ReactDOM.render(<h1>hello world</h1>,document.getElementById('root')); </script> </body> natankrasney@gmail.com 3 ES6 ‫ו‬ JSX ‫ב‬ ‫שימוש‬ ‫מאפשר‬ Components ‫וכתיבת‬ React ‫באלמנטי‬ ‫שימוש‬ ‫מאפשר‬ HTML document ‫ב‬ React ‫אלמנטי‬ ‫הצגת‬ ‫מאפשר‬ ES5 - ‫הדפדפנים‬ ‫ידי‬ ‫על‬ ‫שנתמכת‬ JS ‫לגירסת‬ ES6 - ‫מתקדמת‬ JS ‫מגרסת‬ ‫המרה‬ HTML ‫אלמנט‬ ‫בתוך‬ React ‫אלמנט‬ ‫מציג‬
  • 4. Components ‫על‬ ‫מקל‬ ‫זה‬ , React ‫של‬ ‫הלב‬ ‫זה‬ Components ‫ל‬ React ‫ב‬ ‫לחלק‬ ‫נוח‬ ‫המשתמש‬ ‫ממשק‬ ‫את‬ code reuse ‫ומאפשר‬ ‫והתחזוקה‬ ‫הפיתוח‬ custom html element ‫על‬ ‫כמו‬ component ‫על‬ ‫לחשוב‬ ‫אפשר‬ natankrasney@gmail.com 4 ‫ראשי‬ ‫תפריט‬ ‫משני‬ ‫תפריט‬‫הדף‬ ‫תוכן‬
  • 5. ‫כפונקציה‬ Component ‫בשימוש‬ React ‫של‬ ‫קוד‬ ‫דוגמת‬ <head><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script></head> <body> <div id="root"></div> <script type="text/babel"> function Greeting () { return (<p>Hello world</p>)} ReactDOM.render(<Greeting />,document.getElementById('root')); </script> </body> natankrasney@gmail.com 5 ‫פונקציה‬ ‫באמצעות‬ Greeting ‫בשם‬ component ‫מימוש‬ React.Component ‫את‬ ‫היורשת‬ ‫שהמחלקה‬ ‫פונקציה‬ ‫היא‬ render .‫שלה‬ component‫ה‬ ‫של‬ view ‫ה‬ ‫את‬ ‫מחזירה‬ render .‫לממש‬ ‫חייבת‬ HTML ‫ה‬ ‫את‬ ‫מגדירים‬ ‫בעזרתו‬ JSX ‫באמצעות‬ ‫מיוצג‬ view‫ה‬ ‫ב‬ state ‫אין‬ ‫כאשר‬ ‫המומלצת‬ ‫הצורה‬ ‫היא‬ function component
  • 6. ‫כמחלקה‬ Component ‫בשימוש‬ React ‫של‬ ‫קוד‬ ‫דוגמת‬ <head><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script></head> <body> <div id="root"></div> <script type="text/babel"> class Greeting extends React.Component { render() { return (<p>Hello world</p>);}} ReactDOM.render(<Greeting />,document.getElementById('root')); </script> </body> natankrasney@gmail.com 6 - ‫מחלקה‬ ‫באמצעות‬ Greeting ‫בשם‬ component ‫מימוש‬ ‫וירושה‬ class React.Component ‫את‬ ‫היורשת‬ ‫שהמחלקה‬ ‫פונקציה‬ ‫היא‬ render component‫ה‬ ‫של‬ view ‫ה‬ ‫את‬ ‫מחזירה‬ render .‫לממש‬ ‫חייבת‬ ‫את‬ ‫מגדירים‬ ‫בעזרתו‬ JSX ‫באמצעות‬ ‫מיוצג‬ view‫ה‬ .‫שלה‬ HTML‫ה‬ ‫ב‬ state ‫יש‬ ‫כאשר‬ ‫המומלצת‬ ‫הצורה‬ ‫היא‬ class component
  • 7. ‫פרמטרים‬ ‫העברת‬ ‫עם‬ React ‫של‬ ‫פשוטה‬ ‫קוד‬ ‫דוגמת‬ <head><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script></head> <body> <div id="root"></div> <script type="text/babel"> function Greeting(props) { return (<p>{props.pText}</p>);} ReactDOM.render(<Greeting pText="Hello world !!!" />,document.getElementById('root')); </script> </body> natankrasney@gmail.com 7 .view ‫ל‬ JS‫מ‬ ‫פרמטרים‬ ‫העברת‬ ‫לצורך‬ props ‫ב‬ ‫שימוש‬ ‫ידי‬ ‫על‬ ‫שמוגדר‬ key‫ל‬ ‫דוגמה‬ ‫הוא‬ pText ‫זה‬ ‫במקרה‬ ‫אבא‬ component ‫וב‬ ‫בו‬ ‫בשימוש‬ ‫ונמצא‬ component‫ה‬
  • 8. ‫פרמטרים‬ ‫העברת‬ ‫עם‬ React ‫של‬ ‫פשוטה‬ ‫קוד‬ ‫דוגמת‬ <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script> </head> <body> <div id="root"></div> <script type="text/babel"> function Greeting(props) {return (<p>{props.children}</p>);} ReactDOM.render(<Greeting>Hello world with children !!!</Greeting>,document.getElementById('root')); </script></body> natankrasney@gmail.com 8 .view ‫ל‬ JS‫מ‬ ‫פרמטרים‬ ‫העברת‬ ‫לצורך‬ props ‫ב‬ ‫שימוש‬ ‫להעביר‬ ‫שמאפשרת‬ ‫שמורה‬ ‫מילה‬ ‫היא‬ children ‫זה‬ ‫במקרה‬ ‫אלמנט‬ ‫של‬ content ‫ה‬ ‫דרך‬ ‫תוכן‬
  • 9. JSX ●JavaScript XML ‫של‬ ‫תיבות‬ ‫ראשי‬ ●‫בזה‬ ‫להשתמש‬ ‫חייבים‬ ‫לא‬ ‫אבל‬ React ‫לשימוש‬ ‫מומלץ‬ ●{} ‫בעזרת‬ JS ‫של‬ ‫חלקית‬ ‫פונקציונאליות‬ JSX ‫בתוך‬ ‫לרשום‬ ‫ניתן‬ ●HTML ‫דמויי‬ ‫אלמנטים‬ XML ‫בעזרת‬ ‫להגדיר‬ ‫מאפשר‬ ●‫לדוגמא‬ ‫שמאל‬ ‫בצד‬ ‫ולרשום‬ Try It Out ‫ללשונית‬ https://babeljs.io ‫אל‬ ‫להיכנס‬ ‫מומלץ‬ <div>Hello</div> ‫אליו‬ ‫מתרגם‬ ‫שזה‬ JavaScript ‫ה‬ ‫קוד‬ ‫את‬ ‫ימין‬ ‫בצד‬ ‫ולראות‬ "use strict"; React.createElement("div",null,"hello"); natankrasney@gmail.com 9 JSX ‫זה‬ JavaScript ‫זה‬
  • 10. ES6 ●2015 ‫בשנת‬ ‫שוחררה‬ ‫אשר‬ JavaScript ‫של‬ ‫של‬ ‫גרסה‬ ●class - ‫במחלקה‬ ‫השימוש‬ ‫הוא‬ ‫שלה‬ features‫מה‬ ‫אחד‬ ‫בין‬ ●React ‫ב‬ ‫נרחב‬ ‫בשימוש‬ natankrasney@gmail.com 10
  • 11. Component ‫ללא‬ ‫דוגמא‬ <head><style> .person {border: 1px solid black;width: 200px;padding: 20px; box-shadow: 4px 4px #888888;margin: 10px;display: inline-block;} </style></head> <body> <div class='person'><h1>Nathan</h1><p>Age : 23</p></div> <div class='person'><h1>John</h1><p>Age : 33</p></div> </body> natankrasney@gmail.com 11
  • 12. head ‫חלק‬ Component ‫עם‬ ‫הקודמת‬ ‫הדוגמה‬ <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script> <style> .person { border: 1px solid black;width: 200px;padding: 20px; box-shadow: 4px 4px #888888;margin: 10px;display: inline-block;} </style> </head> natankrasney@gmail.com 12 ‫הבא‬ ‫בעמוד‬ body
  • 13. body ‫חלק‬ Component ‫עם‬ ‫הקודמת‬ ‫הדוגמה‬ <body> <div id="app"></div> <script type="text/babel"> function Nathan () { return (<div className='person'><h1>Nathan</h1><p>Age : 23</p></div>);} function John () { return (<div className='person'><h1>John</h1><p>Age : 33</p></div>);} class App extends React.Component {render() { return( <div><John /><Nathan /></div>);}} ReactDOM.render(<App />,document.getElementById("app"));</script> </body> natankrasney@gmail.com 13 ‫ובתוכו‬ App ‫בשם‬ component root‫ב‬ ‫שימוש‬ Nathan , John ‫בשם‬ component ‫שני‬
  • 14. Person ‫במחלקה‬ ‫שימוש‬ ‫בעזרת‬ ‫הקודמת‬ ‫הדוגמה‬ ‫שיפור‬ <body> <div id="app"></div> <script type="text/babel"> function Person (props) { return (<div className='person'><h1>{props.name}</h1><p>Age : {props.age}</p></div>);} class App extends React.Component { render() { return( <div><Person name="John" age="33"/><Person name="Nathan" age="23"/></div>);}} ReactDOM.render(<App />,document.getElementById("app")); </script> </body> natankrasney@gmail.com 14 .component ‫יצרנו‬ Person ‫הפונקציה‬ ‫בעזרת‬ component‫ל‬ ‫העברנו‬ props ‫בעזרת‬ ‫ארגומנטים‬