SlideShare a Scribd company logo
May 20th, 2017
SharePoint Saturday
Madrid
SharePoint Framework & React
Iván Gómez R.
Iván Gómez R.
SharePoint Consultant
Plain Concepts
https://geeks.ms/rockyouroffice365
https://twitter.com/ivangomezrod
Proud father, biker, geek and developer
WiFi Keys for Attendees
 Connect to the wireless network MSFTGUEST
 Click on Event Attendee Code and enter the access code: msevent47pu
SharePoint Framework y React
SharePoint Framework y React
What is React?
 “React is an engine for building composable user interfaces using Javascript and
(optionally) XML.”
Engine: why engine? Because of reactive UI rendering that separates state from
the UI presented. You define how state is represented on DOM elements and
how state changes updates DOM.
Creating composable user interfaces: React is oriented to creating UI
components blocks easy to reuse, extend and maintain.
Javascript: React is a pure Javascript library that can be used on the browser, the
server and mobile devices.
Reactive rendering
 Let us write in a declarative way how components should look and behave.
 When the data changes React renders the whole interface again.
 React uses an in-memory lightweight representation of the DOM (virtual DOM).
 Manipulating virtual DOM is faster than manipulating real DOM.
 React compares current state of the UI with the desired state and perform the
minimal set of real DOM changes.
 This is why React is the most fast and efficient framework.
Component-Oriented development
 Easy to create complex made of smaller components
 Written in plain JavaScript instaead of template languages or the HTML directives.
 Separtation of concerns
Our first react component
class Hello extends React.Component<any,any>{
render(){
return <h1>Ola k ase</h1>
}
}
Our first react component with dynamic values
class Hello extends React.Component<any, any>{
private message: string = "Welcome to SPS!";
render() {
return <h1>Message {this.message}</h1>
}
}
Component hierarchy
 Divide all UI into nested components.
 Components should be small and have single concern.
 If a component grows, it should be broken into smaller components.
 Components usually represent one piece of your data model.
Props
 Props are of key importance in component composition
 Mechanism used for passing data from parent to child components.
 Props can’t be changed inside the component.
 Component “configuration”
Our first react component with props
export interface HelloProps { message: string; user: string; }
class Hello extends React.Component<HelloProps, any> {
render() {
return <h1>Hello {this.props.user}, you have a message:
{this.props.message}!</h1>;
}
}
Using our first react component
ReactDOM.render(
<Hello user="Iván" message="React is better than angular" />,
document.getElementById("example")
);
State
 Mutable data that represents component internal state.
 When the state is updated, the component itself and its children are re-rendered.
 State is initialized in component constructor.
 Events can change component state.
Events
 React implements a synthetic event system.
 It achieves high performance by automatically using event delegation.
 Single event listener is attached to the root of the document.
 Event listeners automatically are removed when component unmounts.
React component with state and events
export class Search extends React.Component<InputProps, SearchState>{
constructor() {
super();
this.handleChange = this.handleChange.bind(this);
this.state = { searchTerm: "React" };
}
private handleChange(event: any): void {
this.setState({ searchTerm: event.target.value });
}
render() {
return (
<div>
Search term: <input type="search" value={this.state.searchTerm}
onChange={this.handleChange}} />
</div>
);
}
}
JSX
 Looks like HTML, but it is not HTML.
 Tags attributes are camel cased.
 All elements must be balanced.
 Attributes names are based on the DOM API.
 Single root node.
Component lifecycle
SharePoint Framework y React
SharePoint Framework y React
Resources
 https://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview
 https://dev.office.com/fabric
 https://facebook.github.io/react/
 https://www.typescriptlang.org/
 https://react.rocks/
 https://geeks.ms/rockyouroffice365/
SharePoint Framework y React
Please, fill your SPS Madrid
passport if you want to
participate.
You can win one of these gifts:
Raffle
10
9
8
Odor Odor@winterfell.com
Gold sponsors ______________
Silver sponsors
Bronze sponsors
Collaborate
Platinum sponsor

More Related Content

PPTX
Reducers+flux=redux
PPTX
React & Redux JS
PPT
Corespring
PDF
Why Mulesoft ?
PDF
Eventbus Library and How Does it Work?
PDF
Refreshing Your App in iOS 7
PDF
Intro to iOS Application Architecture
PPTX
Angular introduction basic
Reducers+flux=redux
React & Redux JS
Corespring
Why Mulesoft ?
Eventbus Library and How Does it Work?
Refreshing Your App in iOS 7
Intro to iOS Application Architecture
Angular introduction basic

What's hot (12)

PPT
Mule connectors
PPTX
iOS Development (Part 2)
PDF
Leveling up with AngularJS
PPTX
11 wp7 designing applicationsusingexpressionblend
PDF
Building Micro Services with Spring Cloud and Docker
PPT
Mule salesforce
PPTX
Create folder in microsoft office 365 share point using mule esb
PPTX
PDF
Exploring the continuum between Cordova and React Native
PPT
Mule cloudhub application
PPTX
5. servlets
PDF
Clean VIP (Clean Swift) architecture
Mule connectors
iOS Development (Part 2)
Leveling up with AngularJS
11 wp7 designing applicationsusingexpressionblend
Building Micro Services with Spring Cloud and Docker
Mule salesforce
Create folder in microsoft office 365 share point using mule esb
Exploring the continuum between Cordova and React Native
Mule cloudhub application
5. servlets
Clean VIP (Clean Swift) architecture
Ad

Similar to SharePoint Framework y React (20)

PDF
React Interview Question PDF By ScholarHat
PPTX
PDF
100 React Interview questions 2024.pptx.pdf
PDF
REACTJS.pdf
PDF
Copy of React_JS_Notes.pdf
PDF
React Interview Questions and Answers by Scholarhat
PPTX
Introduction to React JS for beginners | Namespace IT
PPTX
Introduction to React JS.pptx
PPTX
Introduction to ReactJS UI Web Dev .pptx
PDF
React JS Interview Questions PDF By ScholarHat
PPTX
React-JS.pptx
PPTX
React + Redux + TypeScript === ♥
PPTX
React JS - A quick introduction tutorial
PDF
Content-Driven Apps with React
PPTX
reactJS
PPTX
This Is the ppt of How the react js work in the dealy life
PPTX
React js - The Core Concepts
PDF
Fundamental concepts of react js
PPTX
Getting started with react &amp; redux
PPTX
ReactJS.pptx
React Interview Question PDF By ScholarHat
100 React Interview questions 2024.pptx.pdf
REACTJS.pdf
Copy of React_JS_Notes.pdf
React Interview Questions and Answers by Scholarhat
Introduction to React JS for beginners | Namespace IT
Introduction to React JS.pptx
Introduction to ReactJS UI Web Dev .pptx
React JS Interview Questions PDF By ScholarHat
React-JS.pptx
React + Redux + TypeScript === ♥
React JS - A quick introduction tutorial
Content-Driven Apps with React
reactJS
This Is the ppt of How the react js work in the dealy life
React js - The Core Concepts
Fundamental concepts of react js
Getting started with react &amp; redux
ReactJS.pptx
Ad

More from SUGES (SharePoint Users Group España) (19)

PPTX
SharePoint Saturday Madrid 2017 - KeyNote
PPTX
How to use SharePoint PnP assets in real world use cases
PPTX
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
PDF
Beyond cards: How to get the most out of Delve
PPTX
CDNs para el SharePoint Framework (SPFx)
PPTX
Introducción al SharePoint Framework SPFx
PPTX
Probots: Azure Bots y Project Online
PPTX
Cómo gestionar el ciclo de vida de soluciones SPFx
PPTX
Extending Microsoft Teams
PDF
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
PPTX
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
PPTX
Bots & Teams: el poder de Grayskull
PPTX
Análisis de sentimiento con Flow y Text Analytics
PPTX
JS Patterns Applied to a Real World Example
PDF
Text Analytics y Machine Learning como sistema de catalogación
PPTX
Proyecto 360: Combinar lo mejor de Azure y Office 365
PPTX
Empowering SharePoint with search capabilities
PPTX
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PPTX
Aprovisionamiento remoto de SharePoint con Azure Functions
SharePoint Saturday Madrid 2017 - KeyNote
How to use SharePoint PnP assets in real world use cases
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
Beyond cards: How to get the most out of Delve
CDNs para el SharePoint Framework (SPFx)
Introducción al SharePoint Framework SPFx
Probots: Azure Bots y Project Online
Cómo gestionar el ciclo de vida de soluciones SPFx
Extending Microsoft Teams
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
Bots & Teams: el poder de Grayskull
Análisis de sentimiento con Flow y Text Analytics
JS Patterns Applied to a Real World Example
Text Analytics y Machine Learning como sistema de catalogación
Proyecto 360: Combinar lo mejor de Azure y Office 365
Empowering SharePoint with search capabilities
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
Aprovisionamiento remoto de SharePoint con Azure Functions

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Cloud computing and distributed systems.
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Encapsulation theory and applications.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
A Presentation on Artificial Intelligence
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine learning based COVID-19 study performance prediction
Cloud computing and distributed systems.
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation theory and applications.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Spectroscopy.pptx food analysis technology
Spectral efficient network and resource selection model in 5G networks
Network Security Unit 5.pdf for BCA BBA.
A Presentation on Artificial Intelligence
Dropbox Q2 2025 Financial Results & Investor Presentation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Assigned Numbers - 2025 - Bluetooth® Document
sap open course for s4hana steps from ECC to s4
Mobile App Security Testing_ A Comprehensive Guide.pdf
cuic standard and advanced reporting.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation_ Review paper, used for researhc scholars

SharePoint Framework y React

  • 1. May 20th, 2017 SharePoint Saturday Madrid SharePoint Framework & React Iván Gómez R.
  • 2. Iván Gómez R. SharePoint Consultant Plain Concepts https://geeks.ms/rockyouroffice365 https://twitter.com/ivangomezrod Proud father, biker, geek and developer
  • 3. WiFi Keys for Attendees  Connect to the wireless network MSFTGUEST  Click on Event Attendee Code and enter the access code: msevent47pu
  • 6. What is React?  “React is an engine for building composable user interfaces using Javascript and (optionally) XML.” Engine: why engine? Because of reactive UI rendering that separates state from the UI presented. You define how state is represented on DOM elements and how state changes updates DOM. Creating composable user interfaces: React is oriented to creating UI components blocks easy to reuse, extend and maintain. Javascript: React is a pure Javascript library that can be used on the browser, the server and mobile devices.
  • 7. Reactive rendering  Let us write in a declarative way how components should look and behave.  When the data changes React renders the whole interface again.  React uses an in-memory lightweight representation of the DOM (virtual DOM).  Manipulating virtual DOM is faster than manipulating real DOM.  React compares current state of the UI with the desired state and perform the minimal set of real DOM changes.  This is why React is the most fast and efficient framework.
  • 8. Component-Oriented development  Easy to create complex made of smaller components  Written in plain JavaScript instaead of template languages or the HTML directives.  Separtation of concerns
  • 9. Our first react component class Hello extends React.Component<any,any>{ render(){ return <h1>Ola k ase</h1> } }
  • 10. Our first react component with dynamic values class Hello extends React.Component<any, any>{ private message: string = "Welcome to SPS!"; render() { return <h1>Message {this.message}</h1> } }
  • 11. Component hierarchy  Divide all UI into nested components.  Components should be small and have single concern.  If a component grows, it should be broken into smaller components.  Components usually represent one piece of your data model.
  • 12. Props  Props are of key importance in component composition  Mechanism used for passing data from parent to child components.  Props can’t be changed inside the component.  Component “configuration”
  • 13. Our first react component with props export interface HelloProps { message: string; user: string; } class Hello extends React.Component<HelloProps, any> { render() { return <h1>Hello {this.props.user}, you have a message: {this.props.message}!</h1>; } }
  • 14. Using our first react component ReactDOM.render( <Hello user="Iván" message="React is better than angular" />, document.getElementById("example") );
  • 15. State  Mutable data that represents component internal state.  When the state is updated, the component itself and its children are re-rendered.  State is initialized in component constructor.  Events can change component state.
  • 16. Events  React implements a synthetic event system.  It achieves high performance by automatically using event delegation.  Single event listener is attached to the root of the document.  Event listeners automatically are removed when component unmounts.
  • 17. React component with state and events export class Search extends React.Component<InputProps, SearchState>{ constructor() { super(); this.handleChange = this.handleChange.bind(this); this.state = { searchTerm: "React" }; } private handleChange(event: any): void { this.setState({ searchTerm: event.target.value }); } render() { return ( <div> Search term: <input type="search" value={this.state.searchTerm} onChange={this.handleChange}} /> </div> ); } }
  • 18. JSX  Looks like HTML, but it is not HTML.  Tags attributes are camel cased.  All elements must be balanced.  Attributes names are based on the DOM API.  Single root node.
  • 22. Resources  https://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview  https://dev.office.com/fabric  https://facebook.github.io/react/  https://www.typescriptlang.org/  https://react.rocks/  https://geeks.ms/rockyouroffice365/
  • 24. Please, fill your SPS Madrid passport if you want to participate. You can win one of these gifts: Raffle 10 9 8 Odor Odor@winterfell.com
  • 25. Gold sponsors ______________ Silver sponsors Bronze sponsors Collaborate Platinum sponsor

Editor's Notes

  • #2: This slide is mandatory. Please do not remove.
  • #6: Hipsters Historia desarrollo SP Typescript Falta material con typescript
  • #26: This slide is mandatory. Please do not remove and try to use it during Q&A at the end of your session. Thank you!