SlideShare una empresa de Scribd logo
1 de 24
SPFx Connecting to
SharePoint & React
Lifecycle
Mario Cortés Flores
@mariocortesf
3
http://geeks.ms/rockyouroffice365
SPFx+React
Conceptos y LifeCycle
Desarrollo basado en componentes web con React
• Dividir la interfaz en componentes
atómicos.
• Cada componente es responsable de
implementar una funcionalidad.
• No conoce los componentes superiores
que lo encapsulan.
• Solo conoce los controles hijos.
Componentes
• Un componente equivaldría al concepto de función.
• Recibe una entrada y genera un elemento de React.
Composición de componentes
• Un componente puede contener a su
vez otros componentes.
• Crearemos una jerarquía de
componentes.
Interfaz basada en JSX
• Expresión que describe cómo se pintara la interfaz.
• Manejos de estos objetos mediante programación.
Render
• Genera el DOM del componente.
• Los elementos son inmutables, una vez que has creado un elemento no puedes modificarlo.
• Podemos bindear a objetos.
BaseClientSideWebPart.Render
• La clase BaseClientSideWebPart contiene un método render encargado de crear los elementos del
componente.
Estructura del proyecto
Propiedades (props)
• Las entradas de datos de un componente se realiza
mediante “propiedades”.
• this.props
• Las propiedades son de solo lectura.
Estado (state)
• Son como propiedades privadas al componente.
• Cada componente mantiene sus propio estado.
• State es de lectura/escritura.
Actualizar el state
• Solo se puede actualizar el estado de 2 formas:
• setState es asíncrono
• El flujo de información siempre es de
arriba hacia abajo en la jerarquía de
componentes.
• Un componente puede pasar su estado a
un hijo mediante propiedades.
Hooks y Lifecycle
Inicialización
1. getDefaultProps
2. getInitialState
3. componentWillMount
4. Render
5. componentDidMount
Actualizacion de estado
1. shouldComponentUpdate
2. componentWillUpdate
3. Render
4. componentDidUpdate
Actualizacion de propiedades
1. componentWillReceiveProps
2. componentWillUpdate
3. Render
4. componentDidUpdate
Unmount
1. componentWillUnmount
Eventos
• Permite capturar eventos de
nuestro componentes.
• Mecanismo que utilizaremos para
pasar información hacia arriba.
Office Fabric UI
• Librearía con componentes, estilos e iconos para crear interfaces similares al estándar.
• npm i office-ui-fabric-react --save
Conectar con SharePoint
SPHttpClient
• Cliente que permite realizar peticiones REST en el contexto del usuario.
Environment.type
Permite detectar en qué entorno nos encontramos (EnvironmentType):
• Test: el código se ejecuta desde un test unitario.
• Local: nos encontramos en un equipo de desarrollo donde estamos probando nuestro desarrollo.
• SharePoint: el framework se ha cargado en una página de SharePoint.
• ClassicSharePoint: el framework se ha cargado en una página basada en el modelo clásico de
páginas de SharePoint.
PnP JavaScript Core
• Librearía con utilidades para conectar con SharePoint de una forma más natural.
• No necesitamos conocer la estructura de REST de SharePoint.
GraphHttpClient
• Cliente para consumir Microsoft Graph desde SPFx.
• Abstrae del flujo de autorización de tokens.
• /_api/SP.OAuth.Token/Acquire
• Restricciones:
this.context.graphHttpClient.get("v1.0/groups?$select=displayName", GraphHttpClient.configurations.v1)
.then((response: GraphHttpClientResponse): Promise<any> => {
return response.json();
}) .then((data: any): void => { // ... });
API’s protegidas con AAD
• Consumir API’s securizadas con AAD a través de ADAL (por ejemplo Graph).
• https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/connect-to-api-
secured-with-aad
• https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/call-microsoft-graph-
from-your-web-part
Enjoy the Bootcamp
Call to action
Join Office 365 developer program
https://dev.office.com/devprogram
to leverage all resources for Office 365
development learning
Build applications on Office 365 platform
Attend MVP led local community events to
continue learning on Office 365 development
Share your feedback on Bootcamp at
https://aka.ms/o365devbootcampfeedback

Más contenido relacionado

La actualidad más candente

MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)Senior Dev
 
Conociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio TalksConociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio TalksScio Consulting
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaDomingo Suarez Torres
 
Workshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsWorkshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsVisual Engineering
 
Desarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCDesarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCAngel Nuñez
 
React – ¿Qué es React.js?
React – ¿Qué es React.js?React – ¿Qué es React.js?
React – ¿Qué es React.js?Gorka Magaña
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Oscar Gensollen
 
Introducción al ecosistema de React.js
Introducción al ecosistema de React.jsIntroducción al ecosistema de React.js
Introducción al ecosistema de React.jsJoaquín Salvachúa
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveEduard Tomàs
 
Introducción a Zend Framework 2
Introducción a  Zend Framework 2Introducción a  Zend Framework 2
Introducción a Zend Framework 2El Taller Web
 
Vaadin 8 en BBR Spa
Vaadin 8 en BBR SpaVaadin 8 en BBR Spa
Vaadin 8 en BBR Spadavidsm1979
 
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Desarrollos NEA
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVCSebastián Rocco
 

La actualidad más candente (20)

ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Conociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio TalksConociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio Talks
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador Java
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Workshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsWorkshop 7: Single Page Applications
Workshop 7: Single Page Applications
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
ENLACES A JAVA
ENLACES A JAVAENLACES A JAVA
ENLACES A JAVA
 
Desarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCDesarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVC
 
React – ¿Qué es React.js?
React – ¿Qué es React.js?React – ¿Qué es React.js?
React – ¿Qué es React.js?
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
Introducción al ecosistema de React.js
Introducción al ecosistema de React.jsIntroducción al ecosistema de React.js
Introducción al ecosistema de React.js
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep Dive
 
HTML5 Web Workers
HTML5 Web WorkersHTML5 Web Workers
HTML5 Web Workers
 
Introducción a Zend Framework 2
Introducción a  Zend Framework 2Introducción a  Zend Framework 2
Introducción a Zend Framework 2
 
Vaadin 8 en BBR Spa
Vaadin 8 en BBR SpaVaadin 8 en BBR Spa
Vaadin 8 en BBR Spa
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
 
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVC
 
Creando APIs REST con Spring Boot
Creando APIs REST con Spring BootCreando APIs REST con Spring Boot
Creando APIs REST con Spring Boot
 

Similar a SPFx React Lifecycle

Construyendo WebParts con SPFx
Construyendo WebParts con SPFxConstruyendo WebParts con SPFx
Construyendo WebParts con SPFxOlga Martí
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netAlberto Diaz Martin
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETAlberto Diaz Martin
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño IIkaolong
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos Luis Fernando Aguas Bucheli
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Frameworkexcedesoft
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxLuis Fernando Aguas Bucheli
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corporacion de Industrias Tecnologicas S.A.
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owaEva Ordoñez Perez
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineMario Cortés Flores
 
Seminario 2+parte wickets
Seminario 2+parte wicketsSeminario 2+parte wickets
Seminario 2+parte wicketsJorge Mahecha
 
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-DesarrolloLuis Fernando Aguas Bucheli
 
Tecnologias orientadas a aspectos en .NET 1.1
Tecnologias orientadas a aspectos en .NET 1.1Tecnologias orientadas a aspectos en .NET 1.1
Tecnologias orientadas a aspectos en .NET 1.1Cristobal Costa Soria
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBJavier Condori Flores
 

Similar a SPFx React Lifecycle (20)

Construyendo WebParts con SPFx
Construyendo WebParts con SPFxConstruyendo WebParts con SPFx
Construyendo WebParts con SPFx
 
S4 - EF
S4 - EFS4 - EF
S4 - EF
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
S4-PD1-2.2 EF
S4-PD1-2.2 EFS4-PD1-2.2 EF
S4-PD1-2.2 EF
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Angular Fundamentals
Angular FundamentalsAngular Fundamentals
Angular Fundamentals
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
 
S4-PD1.pptx
S4-PD1.pptxS4-PD1.pptx
S4-PD1.pptx
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owa
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
Seminario 2+parte wickets
Seminario 2+parte wicketsSeminario 2+parte wickets
Seminario 2+parte wickets
 
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
 
Tecnologias orientadas a aspectos en .NET 1.1
Tecnologias orientadas a aspectos en .NET 1.1Tecnologias orientadas a aspectos en .NET 1.1
Tecnologias orientadas a aspectos en .NET 1.1
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEB
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 

Más de Mario Cortés Flores

Metodología Agile en implantaciones D365
Metodología Agile en implantaciones D365Metodología Agile en implantaciones D365
Metodología Agile en implantaciones D365Mario Cortés Flores
 
Herramientas de seguridad office365
Herramientas de seguridad office365Herramientas de seguridad office365
Herramientas de seguridad office365Mario Cortés Flores
 
Extensión de office con adal.js y office ui fabric
Extensión de office con adal.js y office ui fabricExtensión de office con adal.js y office ui fabric
Extensión de office con adal.js y office ui fabricMario Cortés Flores
 
Office 365 y la fiabilidad en la nube
Office 365 y la fiabilidad en la nubeOffice 365 y la fiabilidad en la nube
Office 365 y la fiabilidad en la nubeMario Cortés Flores
 
Ejemplo de personalización de SharePoint Online - CEUS
Ejemplo de personalización de SharePoint Online - CEUSEjemplo de personalización de SharePoint Online - CEUS
Ejemplo de personalización de SharePoint Online - CEUSMario Cortés Flores
 
Sincronizándonos con office 365 y DirSync, integración con nuestro ad existente
Sincronizándonos con office 365 y DirSync, integración con nuestro ad existenteSincronizándonos con office 365 y DirSync, integración con nuestro ad existente
Sincronizándonos con office 365 y DirSync, integración con nuestro ad existenteMario Cortés Flores
 
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...Mario Cortés Flores
 
Novedades en desarrollo en SharePoint 2013
Novedades en desarrollo en SharePoint 2013Novedades en desarrollo en SharePoint 2013
Novedades en desarrollo en SharePoint 2013Mario Cortés Flores
 
Maratón SharePoint: Office365 wave 15
Maratón SharePoint: Office365 wave 15Maratón SharePoint: Office365 wave 15
Maratón SharePoint: Office365 wave 15Mario Cortés Flores
 
SharePoint, office y office 365 novedades en 2013, infraestructura y migración2
SharePoint, office y office 365 novedades en 2013, infraestructura y migración2SharePoint, office y office 365 novedades en 2013, infraestructura y migración2
SharePoint, office y office 365 novedades en 2013, infraestructura y migración2Mario Cortés Flores
 

Más de Mario Cortés Flores (20)

Metodología Agile en implantaciones D365
Metodología Agile en implantaciones D365Metodología Agile en implantaciones D365
Metodología Agile en implantaciones D365
 
Change management AENOR
Change management AENORChange management AENOR
Change management AENOR
 
Herramientas de seguridad office365
Herramientas de seguridad office365Herramientas de seguridad office365
Herramientas de seguridad office365
 
Extensión de office con adal.js y office ui fabric
Extensión de office con adal.js y office ui fabricExtensión de office con adal.js y office ui fabric
Extensión de office con adal.js y office ui fabric
 
Power bi para desarrolladores
Power bi para desarrolladoresPower bi para desarrolladores
Power bi para desarrolladores
 
Office 365 y la fiabilidad en la nube
Office 365 y la fiabilidad en la nubeOffice 365 y la fiabilidad en la nube
Office 365 y la fiabilidad en la nube
 
Ejemplo de personalización de SharePoint Online - CEUS
Ejemplo de personalización de SharePoint Online - CEUSEjemplo de personalización de SharePoint Online - CEUS
Ejemplo de personalización de SharePoint Online - CEUS
 
Power BI preview
Power BI previewPower BI preview
Power BI preview
 
Office graph y oslo
Office graph y osloOffice graph y oslo
Office graph y oslo
 
Resumen de Office para iPad
Resumen de Office para iPadResumen de Office para iPad
Resumen de Office para iPad
 
Resumen de office365
Resumen de office365Resumen de office365
Resumen de office365
 
Sincronizándonos con office 365 y DirSync, integración con nuestro ad existente
Sincronizándonos con office 365 y DirSync, integración con nuestro ad existenteSincronizándonos con office 365 y DirSync, integración con nuestro ad existente
Sincronizándonos con office 365 y DirSync, integración con nuestro ad existente
 
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
 
Introducción a SharePoint 2013
Introducción a SharePoint 2013Introducción a SharePoint 2013
Introducción a SharePoint 2013
 
Aclarando las nubes
Aclarando las nubesAclarando las nubes
Aclarando las nubes
 
Apps en office15
Apps en office15Apps en office15
Apps en office15
 
Novedades en desarrollo en SharePoint 2013
Novedades en desarrollo en SharePoint 2013Novedades en desarrollo en SharePoint 2013
Novedades en desarrollo en SharePoint 2013
 
Novedades en SharePoint 2013
Novedades en SharePoint 2013Novedades en SharePoint 2013
Novedades en SharePoint 2013
 
Maratón SharePoint: Office365 wave 15
Maratón SharePoint: Office365 wave 15Maratón SharePoint: Office365 wave 15
Maratón SharePoint: Office365 wave 15
 
SharePoint, office y office 365 novedades en 2013, infraestructura y migración2
SharePoint, office y office 365 novedades en 2013, infraestructura y migración2SharePoint, office y office 365 novedades en 2013, infraestructura y migración2
SharePoint, office y office 365 novedades en 2013, infraestructura y migración2
 

Último

Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 

Último (7)

Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 

SPFx React Lifecycle

  • 1. SPFx Connecting to SharePoint & React Lifecycle Mario Cortés Flores @mariocortesf
  • 4. Desarrollo basado en componentes web con React • Dividir la interfaz en componentes atómicos. • Cada componente es responsable de implementar una funcionalidad. • No conoce los componentes superiores que lo encapsulan. • Solo conoce los controles hijos.
  • 5. Componentes • Un componente equivaldría al concepto de función. • Recibe una entrada y genera un elemento de React.
  • 6. Composición de componentes • Un componente puede contener a su vez otros componentes. • Crearemos una jerarquía de componentes.
  • 7. Interfaz basada en JSX • Expresión que describe cómo se pintara la interfaz. • Manejos de estos objetos mediante programación.
  • 8. Render • Genera el DOM del componente. • Los elementos son inmutables, una vez que has creado un elemento no puedes modificarlo. • Podemos bindear a objetos.
  • 9. BaseClientSideWebPart.Render • La clase BaseClientSideWebPart contiene un método render encargado de crear los elementos del componente.
  • 11. Propiedades (props) • Las entradas de datos de un componente se realiza mediante “propiedades”. • this.props • Las propiedades son de solo lectura.
  • 12. Estado (state) • Son como propiedades privadas al componente. • Cada componente mantiene sus propio estado. • State es de lectura/escritura.
  • 13. Actualizar el state • Solo se puede actualizar el estado de 2 formas: • setState es asíncrono • El flujo de información siempre es de arriba hacia abajo en la jerarquía de componentes. • Un componente puede pasar su estado a un hijo mediante propiedades.
  • 14. Hooks y Lifecycle Inicialización 1. getDefaultProps 2. getInitialState 3. componentWillMount 4. Render 5. componentDidMount Actualizacion de estado 1. shouldComponentUpdate 2. componentWillUpdate 3. Render 4. componentDidUpdate Actualizacion de propiedades 1. componentWillReceiveProps 2. componentWillUpdate 3. Render 4. componentDidUpdate Unmount 1. componentWillUnmount
  • 15. Eventos • Permite capturar eventos de nuestro componentes. • Mecanismo que utilizaremos para pasar información hacia arriba.
  • 16. Office Fabric UI • Librearía con componentes, estilos e iconos para crear interfaces similares al estándar. • npm i office-ui-fabric-react --save
  • 18. SPHttpClient • Cliente que permite realizar peticiones REST en el contexto del usuario.
  • 19. Environment.type Permite detectar en qué entorno nos encontramos (EnvironmentType): • Test: el código se ejecuta desde un test unitario. • Local: nos encontramos en un equipo de desarrollo donde estamos probando nuestro desarrollo. • SharePoint: el framework se ha cargado en una página de SharePoint. • ClassicSharePoint: el framework se ha cargado en una página basada en el modelo clásico de páginas de SharePoint.
  • 20. PnP JavaScript Core • Librearía con utilidades para conectar con SharePoint de una forma más natural. • No necesitamos conocer la estructura de REST de SharePoint.
  • 21. GraphHttpClient • Cliente para consumir Microsoft Graph desde SPFx. • Abstrae del flujo de autorización de tokens. • /_api/SP.OAuth.Token/Acquire • Restricciones: this.context.graphHttpClient.get("v1.0/groups?$select=displayName", GraphHttpClient.configurations.v1) .then((response: GraphHttpClientResponse): Promise<any> => { return response.json(); }) .then((data: any): void => { // ... });
  • 22. API’s protegidas con AAD • Consumir API’s securizadas con AAD a través de ADAL (por ejemplo Graph). • https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/connect-to-api- secured-with-aad • https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/call-microsoft-graph- from-your-web-part
  • 24. Call to action Join Office 365 developer program https://dev.office.com/devprogram to leverage all resources for Office 365 development learning Build applications on Office 365 platform Attend MVP led local community events to continue learning on Office 365 development Share your feedback on Bootcamp at https://aka.ms/o365devbootcampfeedback