2020-01-17 22:18:10 +00:00
<!DOCTYPE html>
< html lang = "en-US" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< title > redux-observable | SUBSPACE< / title >
< meta name = "description" content = "Reactive ÐApp Development" >
< link rel = "apple-touch-icon" sizes = "180x180" href = "/assets/img/logo-small.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/assets/img/logo-small.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/assets/img/logo-small.png" >
< link rel = "shortcut icon" href = "/assets/img/logo-small.png" >
< meta name = "theme-color" content = "#ffffff" >
2020-01-30 18:50:49 +00:00
< link rel = "preload" href = "/assets/css/0.styles.514b72f5.css" as = "style" > < link rel = "preload" href = "/assets/js/app.0eb61ebf.js" as = "script" > < link rel = "preload" href = "/assets/js/3.9498df45.js" as = "script" > < link rel = "preload" href = "/assets/js/16.c6d7927e.js" as = "script" > < link rel = "prefetch" href = "/assets/js/10.ad0555d0.js" > < link rel = "prefetch" href = "/assets/js/11.2ab88290.js" > < link rel = "prefetch" href = "/assets/js/12.44cb4d70.js" > < link rel = "prefetch" href = "/assets/js/13.8d36d8c0.js" > < link rel = "prefetch" href = "/assets/js/14.16c0ba27.js" > < link rel = "prefetch" href = "/assets/js/15.df26724a.js" > < link rel = "prefetch" href = "/assets/js/17.94e619f7.js" > < link rel = "prefetch" href = "/assets/js/18.71f9ba08.js" > < link rel = "prefetch" href = "/assets/js/19.8c50e175.js" > < link rel = "prefetch" href = "/assets/js/2.ced3bc39.js" > < link rel = "prefetch" href = "/assets/js/20.4691289d.js" > < link rel = "prefetch" href = "/assets/js/4.08c332fb.js" > < link rel = "prefetch" href = "/assets/js/5.73836d55.js" > < link rel = "prefetch" href = "/assets/js/6.5f41d563.js" > < link rel = "prefetch" href = "/assets/js/7.e27f5416.js" > < link rel = "prefetch" href = "/assets/js/8.65c85371.js" > < link rel = "prefetch" href = "/assets/js/9.e55a9a9a.js" >
2020-01-29 20:27:38 +00:00
< link rel = "stylesheet" href = "/assets/css/0.styles.514b72f5.css" >
2020-01-17 22:18:10 +00:00
< / head >
< body >
2020-01-29 20:27:38 +00:00
< div id = "app" data-server-rendered = "true" > < div class = "theme-container" > < script type = "text/javascript" >
(function(f, a, t, h, o, m){
a[h]=a[h]||function(){
(a[h].q=a[h].q||[]).push(arguments)
};
o=f.createElement('script'),
m=f.getElementsByTagName('script')[0];
o.async=1; o.src=t; o.id='fathom-script';
m.parentNode.insertBefore(o,m)
})(document, window, '//fathom.status.im/tracker.js', 'fathom');
fathom('set', 'siteId', 'DNONS');
fathom('trackPageview');
< / script > < header class = "navbar" > < div class = "sidebar-button" > < svg xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" role = "img" viewBox = "0 0 448 512" class = "icon" > < path fill = "currentColor" d = "M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z" > < / path > < / svg > < / div > < a href = "/" class = "home-link router-link-active" > < img src = "/assets/img/logo-small.png" alt = "SUBSPACE" class = "logo" > < span class = "site-name can-hide" > SUBSPACE< / span > < / a > < div class = "links" > <!-- --> < nav class = "nav-links can-hide" > < div class = "nav-item" > < a href = "/getting-started/" class = "nav-link" > Getting Started< / a > < / div > < div class = "nav-item" > < a href = "/integrations-overview.html" class = "nav-link" > Integrations< / a > < / div > < div class = "nav-item" > < a href = "/api.html" class = "nav-link" > API< / a > < / div > < div class = "nav-item" > < a href = "https://github.com/status-im/subspace" target = "_blank" rel = "noopener noreferrer" class = "nav-link external" >
2020-01-17 22:18:10 +00:00
Github
2020-01-28 00:22:11 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" x = "0px" y = "0px" viewBox = "0 0 100 100" width = "15" height = "15" class = "icon outbound" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < / a > < / div > <!-- --> < / nav > < / div > < / header > < div class = "sidebar-mask" > < / div > < aside class = "sidebar" > < nav class = "nav-links" > < div class = "nav-item" > < a href = "/getting-started/" class = "nav-link" > Getting Started< / a > < / div > < div class = "nav-item" > < a href = "/integrations-overview.html" class = "nav-link" > Integrations< / a > < / div > < div class = "nav-item" > < a href = "/api.html" class = "nav-link" > API< / a > < / div > < div class = "nav-item" > < a href = "https://github.com/status-im/subspace" target = "_blank" rel = "noopener noreferrer" class = "nav-link external" >
2020-01-17 22:18:10 +00:00
Github
2020-01-30 18:50:49 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" x = "0px" y = "0px" viewBox = "0 0 100 100" width = "15" height = "15" class = "icon outbound" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < / a > < / div > <!-- --> < / nav > < ul class = "sidebar-links" > < li > < a href = "/" class = "sidebar-link" > Home< / a > < / li > < li > < a href = "/how-it-works.html" class = "sidebar-link" > How it works?< / a > < ul class = "sidebar-sub-headers" > < / ul > < / li > < li > < a href = "/getting-started.html" class = "sidebar-link" > Getting Started< / a > < ul class = "sidebar-sub-headers" > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#installation" class = "sidebar-link" > Installation< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#importing-the-library" class = "sidebar-link" > Importing the library< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#connecting-to-a-web3-provider" class = "sidebar-link" > Connecting to a web3 provider< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#enhancing-your-contract-objects" class = "sidebar-link" > Enhancing your contract objects< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#reacting-to-data" class = "sidebar-link" > Reacting to data< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#tracking-state" class = "sidebar-link" > Tracking state< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#tracking-events" class = "sidebar-link" > Tracking events< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#tracking-balances" class = "sidebar-link" > Tracking balances< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#subscriptions" class = "sidebar-link" > Subscriptions< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/getting-started.html#cleanup" class = "sidebar-link" > Cleanup< / a > < / li > < / ul > < / li > < li > < section class = "sidebar-group depth-0" > < p class = "sidebar-heading open" > < span > Integrations< / span > <!-- --> < / p > < ul class = "sidebar-links sidebar-group-items" > < li > < a href = "/integrations-overview.html" class = "sidebar-link" > Overview< / a > < / li > < li > < a href = "/react.html" class = "sidebar-link" > React< / a > < ul class = "sidebar-sub-headers" > < / ul > < / li > < li > < a href = "/vue.html" class = "sidebar-link" > Vue< / a > < ul class = "sidebar-sub-headers" > < / ul > < / li > < li > < section class = "sidebar-group is-sub-group depth-1" > < p class = "sidebar-heading open" > < span > Redux< / span > <!-- --> < / p > < ul class = "sidebar-links sidebar-group-items" > < li > < a href = "/redux.html" class = "sidebar-link" > redux< / a > < ul class = "sidebar-sub-headers" > < / ul > < / li > < li > < a href = "/redux-observable.html" class = "active sidebar-link" > redux-observable< / a > < / li > < / ul > < / section > < / li > < li > < a href = "/reactive-graphql.html" class = "sidebar-link" > reactive-graphql< / a > < ul class = "sidebar-sub-headers" > < / ul > < / li > < li > < a href = "/apollo-client.html" class = "sidebar-link" > apollo-client< / a > < ul class = "sidebar-sub-headers" > < / ul > < / li > < / ul > < / section > < / li > < li > < a href = "/tutorial.html" class = "sidebar-link" > Tutorial< / a > < / li > < li > < a href = "/api.html" class = "sidebar-link" > API< / a > < ul class = "sidebar-sub-headers" > < li class = "sidebar-sub-header" > < a href = "/api.html#general" class = "sidebar-link" > General< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/api.html#contract-methods" class = "sidebar-link" > Contract methods< / a > < / li > < li class = "sidebar-sub-header" > < a href = "/api.html#low-level-api-for-data-tracking" class = "sidebar-link" > Low level API for data tracking< / a > < / li > < / ul > < / li > < / ul > < / aside > < main class = "page" > < div class = "theme-default-content content__default" > < h1 id = "redux-observable" > < a href = "#redux-observable" aria-hidden = "true" class = "header-anchor" > #< / a > redux-observable< / h1 > < p > < a href = "https://redux-observable.js.org/" target = "_blank" rel = "noopener noreferrer" > redux-observables< svg xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" x = "0px" y = "0px" viewBox = "0 0 100 100" width = "15" height = "15" class = "icon outbound"
2020-01-17 22:18:10 +00:00
< span class = "token keyword" > const< / span > < span class = "token function-variable function" > myEpic< / span > < span class = "token operator" > =< / span > < span class = "token parameter" > action$< / span > < span class = "token operator" > => < / span >
action$< span class = "token punctuation" > .< / span > < span class = "token function" > pipe< / span > < span class = "token punctuation" > (< / span >
< span class = "token function" > ofType< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " SOME_ACTION" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ,< / span > < span class = "token comment" > // Execute when the action type is 'INIT'< / span >
< span class = "token function" > switchMap< / span > < span class = "token punctuation" > (< / span > < span class = "token parameter" > action< / span > < span class = "token operator" > => < / span >
subspace
2020-01-28 00:22:11 +00:00
< span class = "token punctuation" > .< / span > < span class = "token function" > trackEvent< / span > < span class = "token punctuation" > (< / span > MyContract< span class = "token punctuation" > ,< / span > < span class = "token string" > " MyEventName" < / span > < span class = "token punctuation" > ,< / span > < span class = "token punctuation" > {< / span > filter< span class = "token punctuation" > :< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < span class = "token punctuation" > ,< / span > fromBlock< span class = "token punctuation" > :< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > }< / span > < span class = "token punctuation" > )< / span >
2020-01-17 22:18:10 +00:00
< span class = "token punctuation" > .< / span > < span class = "token function" > pipe< / span > < span class = "token punctuation" > (< / span >
< span class = "token function" > map< / span > < span class = "token punctuation" > (< / span > myAction< span class = "token punctuation" > )< / span > < span class = "token comment" > // Trigger redux action: MY_ACTION with the eventData< / span >
< span class = "token punctuation" > )< / span >
< span class = "token punctuation" > )< / span >
< span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token comment" > // ...< / span >
2020-01-28 00:22:11 +00:00
< / code > < / pre > < div class = "line-numbers-wrapper" > < span class = "line-number" > 1< / span > < br > < span class = "line-number" > 2< / span > < br > < span class = "line-number" > 3< / span > < br > < span class = "line-number" > 4< / span > < br > < span class = "line-number" > 5< / span > < br > < span class = "line-number" > 6< / span > < br > < span class = "line-number" > 7< / span > < br > < span class = "line-number" > 8< / span > < br > < span class = "line-number" > 9< / span > < br > < span class = "line-number" > 10< / span > < br > < span class = "line-number" > 11< / span > < br > < span class = "line-number" > 12< / span > < br > < span class = "line-number" > 13< / span > < br > < span class = "line-number" > 14< / span > < br > < span class = "line-number" > 15< / span > < br > < / div > < / div > < div class = "tip custom-block" > < p > An example is available in < a href = "https://github.com/status-im/subspace/tree/master/examples/redux-observable" target = "_blank" rel = "noopener noreferrer" > Github< svg xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" x = "0px" y = "0px" viewBox = "0 0 100 100" width = "15" height = "15" class = "icon outbound" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < / a > < / p > < / div > < h4 id = "further-read" > < a href = "#further-read" aria-hidden = "true" class = "header-anchor" > #< / a > Further read< / h4 > < ul > < li > < a href = "https://redux-observable.js.org/docs/basics/Epics.html" target = "_blank" rel = "noopener noreferrer" > Epics< svg xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" x = "0px" y = "0px" viewBox = "0 0 100 100" width = "15" height = "15" class = "icon outbound" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < / a > < / li > < / ul > < / div > < footer class = "page-edit" > <!-- --> <!-- --> < / footer > < div class = "page-nav" > < p class = "inner" > < span class = "prev" >
2020-01-17 22:18:10 +00:00
←
2020-01-28 00:22:11 +00:00
< a href = "/redux.html" class = "prev" > redux< / a > < / span > < span class = "next" > < a href = "/reactive-graphql.html" > reactive-graphql< / a > →
2020-01-17 22:18:10 +00:00
< / span > < / p > < / div > < / main > < / div > < div class = "global-ui" > < / div > < / div >
2020-01-30 18:50:49 +00:00
< script src = "/assets/js/app.0eb61ebf.js" defer > < / script > < script src = "/assets/js/3.9498df45.js" defer > < / script > < script src = "/assets/js/16.c6d7927e.js" defer > < / script >
2020-01-17 22:18:10 +00:00
< / body >
< / html >