SlideShare une entreprise Scribd logo
react-slides.ppx (2) (1).pptx react presentation basic
Introduction to React
What is
React?
• React is a JavaScript framework
• Used for front end web development
• Think of jQuery, but more structured
• Created and used by Facebook
• Famous for implementing a virtual
dom
Timeline of front-end JavaScript frameworks
jQuery*
(2006)
AngularJS
(2010)
React
(2013)
Vue
(2014)
Angular
(2014)
* jQuery is more often considered a library than a
framework
Common tasks in front-end development
Data definition, organization, and
storage
Event handlers respond to user
actions
Design and render HTML templates
Resolve URLs
Interact with server(s) through APIs and AJAX
App state
User actions
Template
s
Routing
Data
Fundamentals of
React
1. JavaScript and HTML in the same file
(JSX)
1. Embrace functional programming
1. Components everywhere
JavaScript and HTML in the same
file
Traditiona
l
approach
React
approach
HTML CSS JS JSX CSS or JSS
JSX: the React programming
language
const first = "Aaron";
const last =
"Smith";
const name = <span>{first} {last}</span>;
const listWithTitle = (
<>
<h1>COMP 523</h1>
<ul>
<li>Dr. David Stotts</li>
<li>{name}</li>
</ul>
</>
);
const list = (
<ul>
<li>Dr. David Stotts</li>
<li>{name}</li>
</ul>
);
“React is just
JavaScript”
Functional
programming
1. Functions are “first class
citizens”
1. Variables are immutable
1. Functions have no side effects
Functional
programming
Functions are “first class
citizens”
let add = function() {
console.log('Now adding numbers');
const five = 3 + 2;
};
function performTask(task) {
task();
console.log('Task performed!');
}
performTask(add);
function foo() {
return function() {
console.log('What gets printed?');
};
}
foo
foo();
foo()();
Functional
programming
Variables are
immutable
let a = 4;
a = 2; // Mutates `a`
let b = [1, 2, 3];
b.push(4); // Mutates `b`
let c = [...b, 4]; // Does not mutate `b`
Functional
programming
Functions have no side
effects
const b = [];
function hasSideEffects() {
b = [0];
}
Component
s
Components are functions for user
interfaces
let y = f(x);
Input x Output number
let y = <FancyDiv value={x} />;
Input x Output HTML
Math function:
Component function:
react-slides.ppx (2) (1).pptx react presentation basic
Anatomy of a React
component
export default function MyComponent(props) {
return <div>Hello, world! My name is {props.name}</div>;
}
const html = <MyComponent name="aaron" />;
Inputs are passed through a
single argument called
“props”
The function is executed as
if it was an HTML tag
The function
outputs HTML
The component is
just a function
Parameters are passed
in as HTML attributes
Component
rendering
• When a component function executes, we say it
“renders”
• Assume components may re-render at any time
Our job is to ensure that
every time the component re-
renders, the correct output is
produced
“In React, everything is a
component”
Todo
application Title
TodoForm
First step:
▪ mockup / wireframe
TodoList
Todo
Big idea:
▪ A digital to-do list
Creating a new React
app
Creating a new React app is simple!
1. Install Node.js
2. Run: npx create-react-app app-name
3. New app created in folder: ./app-name
Anatomy of a new React app
public est souvent utilisé pour
contenir le document HTML initial et d'autres
ressources statiques nécessaires à
l'application
App est un composant
de démarrage
index.js lie React
au DOM
package.json configure les
dépendances npm
What are
hooks?
useState
useEffect
We will
cover
these today
Built-in hooks:
Hooks: Fonctions spéciales permettant aux
développeurs de se connecter à l'état et
au cycle de vie des composants React.
State: Gère les données dynamiques
d'un composant et détermine son
comportement et son apparence.
Lifecycle: Les événements associés à une
instance de composant React
(création, rendu, destruction, etc.).
First React hook:
useState
Purpose:
1. Mémoriser les valeurs en interne lorsque le composant se rend à nouveau
2. Indiquer à React de rendre à nouveau le composant lorsque la valeur change.
Syntax:
const [val, setVal] = useState(100);
The current value A setter function
to change the
The initial
value to
Predicting component re-
rendering
A component will only re-render
when…
1. A value inside props changes
– or –
2. A useState setter is called
useEffect
"useEffect" dans React permet d'effectuer des effets de bord dans les composants
fonctionnels, comme la gestion des abonnements aux données ou des actions
asynchrones, en spécifiant quand ces effets doivent être exécutés.
Syntax:
useEffect(() => {
console.log(`myValue was changed! New value: ${myValue}`);
}, [myValue]);
A list of values such that
changes should trigger this
The code to run when
values change
La "Virtual DOM" (DOM virtuel) est une technique utilisée par React pour
améliorer l'efficacité des mises à jour d'interface utilisateur. Elle consiste à
créer une représentation virtuelle de l'arbre DOM existant en mémoire, puis à
la comparer avec la version précédente pour identifier les changements. Ces
changements sont ensuite appliqués de manière sélective à l'arbre DOM réel,
réduisant ainsi le coût des opérations de manipulation du DOM. La "Virtual
DOM" permet d'optimiser les performances des applications React en
minimisant le nombre d'opérations directes sur le DOM, ce qui contribue à
une expérience utilisateur plus réactive.
La Virtual DOM de React : Optimisation des performances
d'interface utilisateur."
react-slides.ppx (2) (1).pptx react presentation basic
Merci pour votre attention
Publicité

Contenu connexe

Similaire à react-slides.ppx (2) (1).pptx react presentation basic (20)

Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
Thibault Martinez
 
Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
Abdoulaye Dieng
 
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbreact (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
zineblahib2
 
Chapitre3_Angular_part1 ANGULAR ISTIC SI.pdf
Chapitre3_Angular_part1 ANGULAR ISTIC SI.pdfChapitre3_Angular_part1 ANGULAR ISTIC SI.pdf
Chapitre3_Angular_part1 ANGULAR ISTIC SI.pdf
israamhamdi7627
 
JSTLcourensatangerpourlesetudiantsdu2emeanneeecole.pptx
JSTLcourensatangerpourlesetudiantsdu2emeanneeecole.pptxJSTLcourensatangerpourlesetudiantsdu2emeanneeecole.pptx
JSTLcourensatangerpourlesetudiantsdu2emeanneeecole.pptx
OussamaZaoui7
 
30-days-of-react-ebook-fullstackio-1-150.pdf
30-days-of-react-ebook-fullstackio-1-150.pdf30-days-of-react-ebook-fullstackio-1-150.pdf
30-days-of-react-ebook-fullstackio-1-150.pdf
srpszigui1
 
Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8
Yannick Chartois
 
Démystification de Spring une histoire de pattern
Démystification de Spring une histoire de patternDémystification de Spring une histoire de pattern
Démystification de Spring une histoire de pattern
letourneur2
 
cours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJScours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJS
aissamjadli
 
Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.
Mathias Seguy
 
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Tarik Zakaria Benmerar
 
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon
 
Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2d
hugomallet
 
GWT : under the hood
GWT : under the hoodGWT : under the hood
GWT : under the hood
svuillet
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web
5pidou
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
Tugdual Grall
 
Evolutions scub foundation 3.0 = 4.0
Evolutions scub foundation 3.0 =  4.0Evolutions scub foundation 3.0 =  4.0
Evolutions scub foundation 3.0 = 4.0
adrienhautot
 
ReactJS S4 - ReactJS S4 - ReactJS S4 - ReactJS S4
ReactJS S4 - ReactJS S4 - ReactJS S4 - ReactJS S4ReactJS S4 - ReactJS S4 - ReactJS S4 - ReactJS S4
ReactJS S4 - ReactJS S4 - ReactJS S4 - ReactJS S4
aissamjadli
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)
Fred Brunel
 
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbreact (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
zineblahib2
 
Chapitre3_Angular_part1 ANGULAR ISTIC SI.pdf
Chapitre3_Angular_part1 ANGULAR ISTIC SI.pdfChapitre3_Angular_part1 ANGULAR ISTIC SI.pdf
Chapitre3_Angular_part1 ANGULAR ISTIC SI.pdf
israamhamdi7627
 
JSTLcourensatangerpourlesetudiantsdu2emeanneeecole.pptx
JSTLcourensatangerpourlesetudiantsdu2emeanneeecole.pptxJSTLcourensatangerpourlesetudiantsdu2emeanneeecole.pptx
JSTLcourensatangerpourlesetudiantsdu2emeanneeecole.pptx
OussamaZaoui7
 
30-days-of-react-ebook-fullstackio-1-150.pdf
30-days-of-react-ebook-fullstackio-1-150.pdf30-days-of-react-ebook-fullstackio-1-150.pdf
30-days-of-react-ebook-fullstackio-1-150.pdf
srpszigui1
 
Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8
Yannick Chartois
 
Démystification de Spring une histoire de pattern
Démystification de Spring une histoire de patternDémystification de Spring une histoire de pattern
Démystification de Spring une histoire de pattern
letourneur2
 
cours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJScours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJS
aissamjadli
 
Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.
Mathias Seguy
 
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Tarik Zakaria Benmerar
 
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon
 
Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2d
hugomallet
 
GWT : under the hood
GWT : under the hoodGWT : under the hood
GWT : under the hood
svuillet
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web
5pidou
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
Tugdual Grall
 
Evolutions scub foundation 3.0 = 4.0
Evolutions scub foundation 3.0 =  4.0Evolutions scub foundation 3.0 =  4.0
Evolutions scub foundation 3.0 = 4.0
adrienhautot
 
ReactJS S4 - ReactJS S4 - ReactJS S4 - ReactJS S4
ReactJS S4 - ReactJS S4 - ReactJS S4 - ReactJS S4ReactJS S4 - ReactJS S4 - ReactJS S4 - ReactJS S4
ReactJS S4 - ReactJS S4 - ReactJS S4 - ReactJS S4
aissamjadli
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)
Fred Brunel
 

react-slides.ppx (2) (1).pptx react presentation basic

  • 3. What is React? • React is a JavaScript framework • Used for front end web development • Think of jQuery, but more structured • Created and used by Facebook • Famous for implementing a virtual dom
  • 4. Timeline of front-end JavaScript frameworks jQuery* (2006) AngularJS (2010) React (2013) Vue (2014) Angular (2014) * jQuery is more often considered a library than a framework
  • 5. Common tasks in front-end development Data definition, organization, and storage Event handlers respond to user actions Design and render HTML templates Resolve URLs Interact with server(s) through APIs and AJAX App state User actions Template s Routing Data
  • 6. Fundamentals of React 1. JavaScript and HTML in the same file (JSX) 1. Embrace functional programming 1. Components everywhere
  • 7. JavaScript and HTML in the same file Traditiona l approach React approach HTML CSS JS JSX CSS or JSS
  • 8. JSX: the React programming language const first = "Aaron"; const last = "Smith"; const name = <span>{first} {last}</span>; const listWithTitle = ( <> <h1>COMP 523</h1> <ul> <li>Dr. David Stotts</li> <li>{name}</li> </ul> </> ); const list = ( <ul> <li>Dr. David Stotts</li> <li>{name}</li> </ul> );
  • 10. Functional programming 1. Functions are “first class citizens” 1. Variables are immutable 1. Functions have no side effects
  • 11. Functional programming Functions are “first class citizens” let add = function() { console.log('Now adding numbers'); const five = 3 + 2; }; function performTask(task) { task(); console.log('Task performed!'); } performTask(add); function foo() { return function() { console.log('What gets printed?'); }; } foo foo(); foo()();
  • 12. Functional programming Variables are immutable let a = 4; a = 2; // Mutates `a` let b = [1, 2, 3]; b.push(4); // Mutates `b` let c = [...b, 4]; // Does not mutate `b`
  • 13. Functional programming Functions have no side effects const b = []; function hasSideEffects() { b = [0]; }
  • 14. Component s Components are functions for user interfaces let y = f(x); Input x Output number let y = <FancyDiv value={x} />; Input x Output HTML Math function: Component function:
  • 16. Anatomy of a React component export default function MyComponent(props) { return <div>Hello, world! My name is {props.name}</div>; } const html = <MyComponent name="aaron" />; Inputs are passed through a single argument called “props” The function is executed as if it was an HTML tag The function outputs HTML The component is just a function Parameters are passed in as HTML attributes
  • 17. Component rendering • When a component function executes, we say it “renders” • Assume components may re-render at any time Our job is to ensure that every time the component re- renders, the correct output is produced
  • 18. “In React, everything is a component”
  • 19. Todo application Title TodoForm First step: ▪ mockup / wireframe TodoList Todo Big idea: ▪ A digital to-do list
  • 20. Creating a new React app Creating a new React app is simple! 1. Install Node.js 2. Run: npx create-react-app app-name 3. New app created in folder: ./app-name
  • 21. Anatomy of a new React app public est souvent utilisé pour contenir le document HTML initial et d'autres ressources statiques nécessaires à l'application App est un composant de démarrage index.js lie React au DOM package.json configure les dépendances npm
  • 22. What are hooks? useState useEffect We will cover these today Built-in hooks: Hooks: Fonctions spéciales permettant aux développeurs de se connecter à l'état et au cycle de vie des composants React. State: Gère les données dynamiques d'un composant et détermine son comportement et son apparence. Lifecycle: Les événements associés à une instance de composant React (création, rendu, destruction, etc.).
  • 23. First React hook: useState Purpose: 1. Mémoriser les valeurs en interne lorsque le composant se rend à nouveau 2. Indiquer à React de rendre à nouveau le composant lorsque la valeur change. Syntax: const [val, setVal] = useState(100); The current value A setter function to change the The initial value to
  • 24. Predicting component re- rendering A component will only re-render when… 1. A value inside props changes – or – 2. A useState setter is called
  • 25. useEffect "useEffect" dans React permet d'effectuer des effets de bord dans les composants fonctionnels, comme la gestion des abonnements aux données ou des actions asynchrones, en spécifiant quand ces effets doivent être exécutés. Syntax: useEffect(() => { console.log(`myValue was changed! New value: ${myValue}`); }, [myValue]); A list of values such that changes should trigger this The code to run when values change
  • 26. La "Virtual DOM" (DOM virtuel) est une technique utilisée par React pour améliorer l'efficacité des mises à jour d'interface utilisateur. Elle consiste à créer une représentation virtuelle de l'arbre DOM existant en mémoire, puis à la comparer avec la version précédente pour identifier les changements. Ces changements sont ensuite appliqués de manière sélective à l'arbre DOM réel, réduisant ainsi le coût des opérations de manipulation du DOM. La "Virtual DOM" permet d'optimiser les performances des applications React en minimisant le nombre d'opérations directes sur le DOM, ce qui contribue à une expérience utilisateur plus réactive. La Virtual DOM de React : Optimisation des performances d'interface utilisateur."
  • 28. Merci pour votre attention
  翻译: