SlideShare una empresa de Scribd logo
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

PPTX
ASP.NET MVC Workshop Día 1
PPTX
ASP.NET MVC Workshop Día 2
PPTX
2018.sps madrid.spfx workshop
PPTX
ASP.NET MVC Workshop Día 3
PPTX
ASP.NET 5 & MVC 6 (RC1)
PPTX
Novedades de ASP.NET MVC6
PPTX
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
PPTX
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 2
2018.sps madrid.spfx workshop
ASP.NET MVC Workshop Día 3
ASP.NET 5 & MVC 6 (RC1)
Novedades de ASP.NET MVC6
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4

La actualidad más candente (20)

PPTX
ASP.NET MVC Core
PPTX
MVC & ASP.NET (Spanish)
PPTX
Conociendo ReactJs . Scio Talks
KEY
Webinar: Groovy y la producttividad para el desarrollador Java
PPTX
ASP.NET MVC
PDF
Workshop 7: Single Page Applications
PDF
Springboot Overview
PPTX
ENLACES A JAVA
PPTX
Desarrollo Web con ASP.NET MVC
PDF
React – ¿Qué es React.js?
PPTX
Desarrollo de Aplicaciones Web con ASP.NET MVC5
PDF
Introducción al ecosistema de React.js
PPTX
Asp.Net Core 1.0 Deep Dive
PPTX
HTML5 Web Workers
PDF
Introducción a Zend Framework 2
PPTX
Vaadin 8 en BBR Spa
PPTX
Spring boot et. al. para el impaciente
PPTX
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
PDF
Introducción a ASP.NET MVC
ODP
Creando APIs REST con Spring Boot
ASP.NET MVC Core
MVC & ASP.NET (Spanish)
Conociendo ReactJs . Scio Talks
Webinar: Groovy y la producttividad para el desarrollador Java
ASP.NET MVC
Workshop 7: Single Page Applications
Springboot Overview
ENLACES A JAVA
Desarrollo Web con ASP.NET MVC
React – ¿Qué es React.js?
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Introducción al ecosistema de React.js
Asp.Net Core 1.0 Deep Dive
HTML5 Web Workers
Introducción a Zend Framework 2
Vaadin 8 en BBR Spa
Spring boot et. al. para el impaciente
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Introducción a ASP.NET MVC
Creando APIs REST con Spring Boot
Publicidad

Similar a Sp fx connecting to share point & react lifecycle (20)

PDF
Construyendo WebParts con SPFx
PPTX
Cross development - React para desarrolladores de asp.net
PPTX
CrossDvlpu - REACT para desarrolladores de ASP.NET
PPTX
React-Framework Exposicion sobre React, composiciones etc.
PPTX
Introducción a SharePoint Framework
PPTX
Introducción a SharePoint Framework
PPTX
Introducción a SharePoint Framework
PPTX
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
PDF
Tutorial de ReactJS.pdf completo para principiantes
PPTX
SharePoint Framework, paso a paso
PPTX
Desarrollo de Aplicaciones N° 01 - 02 - reactjs(2).pptx
PPTX
JS Patterns Applied to a Real World Example
PPTX
Introducción a react + redux
PPTX
IT Camps Apps Office 365 Valencia 2014
PDF
CSA - Web Parts en SharePoint 2010
PPTX
React, Flux y React native
PDF
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
DOCX
Desarrollo de los diferentes hooks en react.docx
PDF
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Construyendo WebParts con SPFx
Cross development - React para desarrolladores de asp.net
CrossDvlpu - REACT para desarrolladores de ASP.NET
React-Framework Exposicion sobre React, composiciones etc.
Introducción a SharePoint Framework
Introducción a SharePoint Framework
Introducción a SharePoint Framework
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
Tutorial de ReactJS.pdf completo para principiantes
SharePoint Framework, paso a paso
Desarrollo de Aplicaciones N° 01 - 02 - reactjs(2).pptx
JS Patterns Applied to a Real World Example
Introducción a react + redux
IT Camps Apps Office 365 Valencia 2014
CSA - Web Parts en SharePoint 2010
React, Flux y React native
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
Desarrollo de los diferentes hooks en react.docx
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Publicidad

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

PPTX
Metodología Agile en implantaciones D365
PPTX
Change management AENOR
PPTX
Herramientas de seguridad office365
PPTX
Extensión de office con adal.js y office ui fabric
PPTX
Power bi para desarrolladores
PPTX
Office 365 y la fiabilidad en la nube
PPTX
Ejemplo de personalización de SharePoint Online - CEUS
PPTX
Power BI preview
PPTX
Office graph y oslo
PPTX
Resumen de Office para iPad
PPTX
Resumen de office365
PPTX
Sincronizándonos con office 365 y DirSync, integración con nuestro ad existente
PPTX
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
PPTX
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
PPTX
Introducción a SharePoint 2013
PPTX
Aclarando las nubes
PPTX
Apps en office15
PPTX
Novedades en desarrollo en SharePoint 2013
PPTX
Novedades en SharePoint 2013
PPTX
Maratón SharePoint: Office365 wave 15
Metodología Agile en implantaciones D365
Change management AENOR
Herramientas de seguridad office365
Extensión de office con adal.js y office ui fabric
Power bi para desarrolladores
Office 365 y la fiabilidad en la nube
Ejemplo de personalización de SharePoint Online - CEUS
Power BI preview
Office graph y oslo
Resumen de Office para iPad
Resumen de office365
Sincronizándonos con office 365 y DirSync, integración con nuestro ad existente
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Introducción a SharePoint 2013
Aclarando las nubes
Apps en office15
Novedades en desarrollo en SharePoint 2013
Novedades en SharePoint 2013
Maratón SharePoint: Office365 wave 15

Último (6)

PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
sistemas de informacion.................
Derechos_de_Autor_y_Creative_Commons.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Conceptos basicos de Base de Datos y sus propiedades
AutoCAD Herramientas para el futuro, Juan Fandiño
Su punto de partida en la IA: Microsoft 365 Copilot Chat
sistemas de informacion.................

Sp fx connecting to share point & 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