SlideShare a Scribd company logo
React State Management
with Redux and MobX
DARKO KUKOVEC @DarkoKukovec
ANDREI ZVONIMIR CRNKOVIĆ @andreicek
INFINUM @infinumco
DARKO KUKOVEC
JS Team Lead
@DarkoKukovec
ANDREI ZVONIMIR CRNKOVIĆ
JS Emojineer
@andreicek
We're an independent
design & development
agency.
Topic
Time
SCHEDULE
13:45-14:30 14:30-15:15 15:15-16:00
React setState React + Redux React + MobX
The Joy of Optimizing
Una Kravets (DigitalOcean)
Coffee.js? How I hacked my
coffee machine using
JavaScript
Dominik Kundel (Twilio)
GraphQL: Data in modern
times
Dotan Simha (The Guild)
01APP STATE
APP STATE
• Data
• Which user is logged in?
• Which todos did the user create?
• UI
• Which todos is the user looking at (filter - all, complete, incomplete)
02STATE MANAGEMENT
STATE MANAGEMENT
• What should happen when some data changes?
• Does the UI need to be updated
• Does some other data depend on it?
• Does the app need to make an action (e.g. API call)?
03WHY DO WE NEED IT?
IMAGE GOES INSIDE THIS BOX
DELETE BOX AFTER PLACING IMAGE
• Todos
• Title
• Status
• Active filter
• Number of todos
Handing an action in the app
Handing an action in the app
• The user checks a todo as complete
Handing an action in the app
• The user checks a todo as complete
• Mark the todo as complete
Handing an action in the app
• The user checks a todo as complete
• Mark the todo as complete
• Update the incomplete items count
Handing an action in the app
• The user checks a todo as complete
• Mark the todo as complete
• Update the incomplete items count
• What filter is active again?
Handing an action in the app
• The user checks a todo as complete
• Mark the todo as complete
• Update the incomplete items count
• What filter is active again?
• Do I need to update the list of todos?
• Add/remove item?
• Sort items?
• Should I show an empty state?
• Should I make an API call?
• Should I save the change into
localStorage?
Data Flow in JavaScript Applications - Ryan Christiani
04EXAMPLE PROJECT
EXAMPLE PROJECT
• Tech conference app
• Fetch talk list (async action)
• Favourite talks (simple sync action)
• Filter by location (filtering data from the state)
• To simplify
• No routing
• No forms
• Not responsive
• Only basic styling
• Assumption: Browsers support Fetch API
• 70% of browsers do, polyfill available for the rest
EXAMPLE PROJECT - TECH STUFF
• create-react-app as the initial setup
• https://github.com/infinum/shift-2017
05BEFORE WE START...
COMPONENT TYPES
Container Presenter
Usually root components Inside of container components
No UI Only UI
State of children components Dumb component
Handle state changes "Data down, actions up"
06PREREQUISITES
PREREQUISITES
• A modern IDE (VS Code, Sublime Text, Atom, Webstorm or similar)
• Latest version of Chrome/Chromium for debugging
• Node.js 6 or 7
• npm 4 or yarn
07REACT + SETSTATE
REACT + SETSTATE
• No central state
• Every component contains its (and children?) state
• State changes are async! - 2nd argument is a callback
• Component is re-rendered unless shouldComponentUpdate() returns false
• Additional libs
• react-addons-update
// Code time!
// setState
// Code used for setup:
create-react-app app-setstate
npm install --save react-addons-update
v1.0
* Mock data
* Styles
* Presenter components
* Utils
v1.0
// Loading data
v1.0
// Container component state
v1.1
// Selectors
v1.2
FUNCTIONAL SETSTATE
• Since React 15?
• Will eventually replace the usage with objects as the first argument
class App extends Component {
constructor(props) {
super(props);
this.state = {counter: 0};
}
increaseCounter() {
this.setState({
counter: this.state.counter + 1
});
}
decreaseCounter() {
this.setState((prevState, props) => {
return {counter: prevState.counter + 1};
});
}
render() {
// ...
}
}
SCALING SETSTATE
• A bad idea
• One master component with app state
• Some smaller independent containers
08MOBX VS REDUX
http:!//!!www.timqian.com/star-history/#mobxjs/mobx&reactjs/redux&facebook/flux&facebook/relay
ADVANTAGES
Easier to (unit) test
MobX Redux
Faster
Less boilerplate Smaller
Time travelMore flexible
Easier to debug?Simpler async actions
IN THE NUTSHELL...
https:!//twitter.com/phillip_webb/status/705909774001377280
USAGE
MobX Redux
mobx-react react-redux
Not React dependent Not React dependent
mobx-angular
Python
GWT
09REACT + REDUX
REACT + REDUX
• One central state
• Additional libs
• redux
• react-redux
• redux-thunk
STORE
Holds application state
ACTIONS
Payloads of information that send data from your
application to your store
REDUCERS
Specify how the application's state changes in
response to actions
import { createStore } from 'redux'
function counter(state = 0, action) {
switch (action.type) {
case 'INCREMENT':
return state + 1
case 'DECREMENT':
return state - 1
default:
return state
}
}
let store = createStore(counter)
store.subscribe(() =>
console.log(store.getState())
)
store.dispatch({ type: 'INCREMENT' })
// 1
store.dispatch({ type: 'INCREMENT' })
// 2
store.dispatch({ type: 'DECREMENT' })
// 1
THE GIST
// Code time!
// Redux
// Code used for setup:
create-react-app app-redux
npm install --save redux react-redux redux-thunk
v2.0
* Mock data
* Styles
* Presenter components
* Utils
v2.0
// Action names
v2.0
// Actions
v2.1
// Reducers
v2.2
// Store
v2.3
// Connect
v2.4
// Selectors
v2.5
// Redux DevTools
// https://chrome.google.com/webstore
https:!//chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en
v2.6
SCALING REDUX
• Only one store!
• Multiple (nested) reducers, actions
• Store data nesting === reducer nesting
• "reducers" folder, "actions" folder
• Folders based on functionality
• e.g. "orders" contains a orders reducer, orders actions and all other related stuff
THINGS TO KEEP IN MIND
• NEVER mutate the state!
• Immutable.js
09REDUX HELPER LIBS
IMMUTABLE.JS
• https://github.com/facebook/immutable-js/
• List, Stack, Map, OrderedMap, Set, OrderedSet, Record
• Nested structures
REDUX FORM
• https://github.com/erikras/redux-form
• Uses Immutable.js
• Sync/async validations
• Wizard forms
REDUX - THE SOURCE CODE
https:!//twitter.com/bloodyowl/status/740228059538857984
10REACT + MOBX
REACT + MOBX
• One/multiple states
• Additional libs
• mobx
• mobx-react
Anything that can be derived from the application
state, should be derived. Automatically.
- The philosophy behind MobX
OBSERVABLE
Your state
e.g., list of TODOs
ACTION
A function that changes the state
e.g., function called after the user clicks on the
completed checkbox
COMPUTED PROPERTY
A value derived from your state
e.g., list of completed TODOs
OBSERVER
Function (component?) that needs to be updated
on state change
e.g., component showing a list of TODOs
STATE
(OBSERVABLES)
COMPUTED
PROPS
OBSERVERSACTION
UPDATES
UPDATES
UPDATES
CHANGES
THE GIST
import { observable, autorun } from 'mobx';
const store = observable({counter: 0});
autorun(() =>
console.log(store.counter);
);
store.counter++;
// 1
store.counter++;
// 2
store.counter--;
// 1
import { createStore } from 'redux'
function counter(state = 0, action) {
switch (action.type) {
case 'INCREMENT':
return state + 1
case 'DECREMENT':
return state - 1
default:
return state
}
}
let store = createStore(counter)
store.subscribe(() =>
console.log(store.getState())
)
store.dispatch({ type: 'INCREMENT' })
// 1
store.dispatch({ type: 'INCREMENT' })
// 2
store.dispatch({ type: 'DECREMENT' })
// 1
THE GIST
import { observable, autorun } from 'mobx';
const store = observable({counter: 0});
autorun(() =>
console.log(store.counter);
);
store.counter++;
// 1
store.counter++;
// 2
store.counter--;
// 1
MobX Redux
DECORATORS
JS proposed feature (Babel plugin)
TypeScript feature
import {observable, computed} from 'mobx';
class Todos {
@observable list = [];
users = observable([]);
@computed get complete() {
return this.list.filter((todo) => todo.complete);
}
incomplete: computed(() => {
return this.list.filter((todo) => !todo.complete);
})
}
// Code time!
// MobX
// Code used for setup:
create-react-app app-mobx --scripts-version
custom-react-scripts
npm install --save mobx mobx-react
v3.0
* Mock data
* Styles
* Presenter components
* Utils
v3.0
// Models
v3.0
// Loading data
v3.1
// Actions
v3.2
// Observers
v3.3
// Strict mode
v3.4
THINGS TO KEEP IN MIND
• use extendObservable to add properties to an object
• Wrapped objects - isArray(arr) or array.is(toJS(arr))
• Don't be afraid to use observers
• If done right: More observers → better performance
SCALING MOBX
• Your code can be object oriented!
• A list of best practices
• Strict mode, actions (transactions)
• Use helper libs
10MOBX HELPER LIBS
MOBX-REACT-DEVTOOLS
• Log actions & reactions
• Check dependencies for a react component
• Show update times
"STRUCTURE" LIBS
Opinionated
MOBX-COLLECTION-STORE
• https://github.com/infinum/mobx-collection-store
• One collection, multiple model types
• Relationships between models
• mobx-jsonapi-store
• https://github.com/infinum/mobx-jsonapi-store
MOBX-STATE-TREE
• https://github.com/mobxjs/mobx-state-tree
• Made by MobX authors
• v1.0 release soon
• Supports snapshots, replay, JSON patches, etc.
• Supports time travel!
• Compatible with Redux DevTools!
MOBX-REACT-FORM
• https://github.com/foxhound87/mobx-react-form
• Dedicated DevTools: https://github.com/foxhound87/mobx-react-form-devtools
REACT SETSTATE + MOBX
• You can still use it
• But, you can also do this…
import {observable} from 'mobx';
import {observer} from 'mobx-react';
import React, {Component} from 'react';
@observer
export default class Foo extends Component {
@observable state = {
clickCount = 0;
};
onClick: () => {
this.state.clickCount++; // if you use setState it will stop being an observable!
}
render() {
return (
<button onClick={this.onClick}>
{
this.state.clickCount ? `Clicked ${this.state.clickCount} times!` : 'Click me!'
}
</button>
);
}
}
RESOURCES
• Redux
• http://redux.js.org/
• https://egghead.io/courses/getting-started-with-redux
• https://egghead.io/courses/building-react-applications-with-idiomatic-redux
• MobX
• https://mobx.js.org/
• https://mobxjs.github.io/mobx/getting-started.html
• https://egghead.io/courses/manage-complex-state-in-react-apps-with-mobx
Visit infinum.co or find us on social networks:
infinum.co infinumco infinumco infinum
Thank you!
DARKO@INFINUM.CO
@DARKOKUKOVEC
ANDREI@INFINUM.CO
@ANDREICEK

More Related Content

What's hot

ReactJs
ReactJsReactJs
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
namespaceit
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.js
Emanuele DelBono
 
Introduction to react and redux
Introduction to react and reduxIntroduction to react and redux
Introduction to react and redux
Cuong Ho
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
Knoldus Inc.
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
Nikolaus Graf
 
React introduction
React introductionReact introduction
React introduction
Võ Duy Tuấn
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
PradeepDyavannanavar
 
Its time to React.js
Its time to React.jsIts time to React.js
Its time to React.js
Ritesh Mehrotra
 
React web development
React web developmentReact web development
React web development
Rully Ramanda
 
Getting started with Redux js
Getting started with Redux jsGetting started with Redux js
Getting started with Redux js
Citrix
 
Redux training
Redux trainingRedux training
Redux training
dasersoft
 
React Hooks
React HooksReact Hooks
React Hooks
Erez Cohen
 
Getting Started with NgRx (Redux) Angular
Getting Started with NgRx (Redux) AngularGetting Started with NgRx (Redux) Angular
Getting Started with NgRx (Redux) Angular
Gustavo Costa
 
State Management in Angular/React
State Management in Angular/ReactState Management in Angular/React
State Management in Angular/React
DEV Cafe
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
Rob Quick
 
Basics of React Hooks.pptx.pdf
Basics of React Hooks.pptx.pdfBasics of React Hooks.pptx.pdf
Basics of React Hooks.pptx.pdf
Knoldus Inc.
 
Angular state Management-NgRx
Angular state Management-NgRxAngular state Management-NgRx
Angular state Management-NgRx
Knoldus Inc.
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
Thanh Tuong
 
React js
React jsReact js
React js
Nikhil Karkra
 

What's hot (20)

ReactJs
ReactJsReactJs
ReactJs
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.js
 
Introduction to react and redux
Introduction to react and reduxIntroduction to react and redux
Introduction to react and redux
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
 
React introduction
React introductionReact introduction
React introduction
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
Its time to React.js
Its time to React.jsIts time to React.js
Its time to React.js
 
React web development
React web developmentReact web development
React web development
 
Getting started with Redux js
Getting started with Redux jsGetting started with Redux js
Getting started with Redux js
 
Redux training
Redux trainingRedux training
Redux training
 
React Hooks
React HooksReact Hooks
React Hooks
 
Getting Started with NgRx (Redux) Angular
Getting Started with NgRx (Redux) AngularGetting Started with NgRx (Redux) Angular
Getting Started with NgRx (Redux) Angular
 
State Management in Angular/React
State Management in Angular/ReactState Management in Angular/React
State Management in Angular/React
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
 
Basics of React Hooks.pptx.pdf
Basics of React Hooks.pptx.pdfBasics of React Hooks.pptx.pdf
Basics of React Hooks.pptx.pdf
 
Angular state Management-NgRx
Angular state Management-NgRxAngular state Management-NgRx
Angular state Management-NgRx
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
 
React js
React jsReact js
React js
 

Similar to React state management with Redux and MobX

Introduction to react native with redux
Introduction to react native with reduxIntroduction to react native with redux
Introduction to react native with redux
Mike Melusky
 
Making react part of something greater
Making react part of something greaterMaking react part of something greater
Making react part of something greater
Darko Kukovec
 
React.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOMReact.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOM
Jimit Shah
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
Troy Miles
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
Thomas Daly
 
An Overview of the React Ecosystem
An Overview of the React EcosystemAn Overview of the React Ecosystem
An Overview of the React Ecosystem
FITC
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React Native
Mike Melusky
 
React.js at Cortex
React.js at CortexReact.js at Cortex
React.js at Cortex
Geoff Harcourt
 
Meteor meetup
Meteor meetupMeteor meetup
Meteor meetup
David Brear
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
fulv
 
Introduction to React native
Introduction to React nativeIntroduction to React native
Introduction to React native
Dhaval Barot
 
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache Usergrid
David M. Johnson
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
Uri Cohen
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
MskDotNet Community
 
MobX: the way to simplicity
MobX: the way to simplicityMobX: the way to simplicity
MobX: the way to simplicity
Grid Dynamics
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB
 
React inter3
React inter3React inter3
React inter3
Oswald Campesato
 
React.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UIReact.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UI
Marcin Grzywaczewski
 
React introduction
React introductionReact introduction
React introduction
Kashyap Parmar
 
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay PlatonovSenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
Sencha
 

Similar to React state management with Redux and MobX (20)

Introduction to react native with redux
Introduction to react native with reduxIntroduction to react native with redux
Introduction to react native with redux
 
Making react part of something greater
Making react part of something greaterMaking react part of something greater
Making react part of something greater
 
React.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOMReact.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOM
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
An Overview of the React Ecosystem
An Overview of the React EcosystemAn Overview of the React Ecosystem
An Overview of the React Ecosystem
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React Native
 
React.js at Cortex
React.js at CortexReact.js at Cortex
React.js at Cortex
 
Meteor meetup
Meteor meetupMeteor meetup
Meteor meetup
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
 
Introduction to React native
Introduction to React nativeIntroduction to React native
Introduction to React native
 
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache Usergrid
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
 
MobX: the way to simplicity
MobX: the way to simplicityMobX: the way to simplicity
MobX: the way to simplicity
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
React inter3
React inter3React inter3
React inter3
 
React.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UIReact.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UI
 
React introduction
React introductionReact introduction
React introduction
 
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay PlatonovSenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
 

Recently uploaded

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
maazsz111
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 

Recently uploaded (20)

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 

React state management with Redux and MobX