<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/sharing-data-across-shiny-modules-an-update-tcxljwfvk" -->

---
title: Sharing data across shiny modules, an update | daily.dev
description: An in-depth update on strategies for sharing data across Shiny modules in R, revisiting the 'stratégie du petit r' pattern (using reactiveValues() as shared...
canonical: https://daily.dev/posts/sharing-data-across-shiny-modules-an-update-tcxljwfvk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Sharing data across shiny modules, an update | daily.dev
og:description: An in-depth update on strategies for sharing data across Shiny modules in R, revisiting the 'stratégie du petit r' pattern (using reactiveValues() as shared...
og:url: https://daily.dev/posts/sharing-data-across-shiny-modules-an-update-tcxljwfvk
og:image: https://api.daily.dev/og/posts/tCxljwfvK.png
og:image:alt: Sharing data across shiny modules, an update
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Sharing data across shiny modules, an update

**[R-bloggers](https://daily.dev/sources/rbloggers)** · 22 min read · 0 upvotes · 0 comments

## Summary

An in-depth update on strategies for sharing data across Shiny modules in R, revisiting the 'stratégie du petit r' pattern (using reactiveValues() as shared state) in response to public criticism. The author defends the approach while acknowledging its pitfalls, emphasizing that naming conventions and proper scoping (using multiple reactiveValues() at different levels) are key to avoiding unmaintainable code. Additional patterns covered include passing reactive objects as function parameters, using R6 objects combined with the {gargoyle} trigger package, session$userData, package-level environments, and external databases like {storr}. The post stresses that no pattern prevents bad code—discipline and context matter most.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.r-bloggers.com/2026/03/sharing-data-across-shiny-modules-an-update/>

## Similar posts on daily.dev

- [Reactive Shiny Apps and Deployment with Google Cloud Run: Intermediate R Shiny Workshop](https://daily.dev/posts/reactive-shiny-apps-and-deployment-with-google-cloud-run-intermediate-r-shiny-workshop-gjubddfpf) · R-bloggers · 0 upvotes · 0 comments
- [Inter-Module Communication in a Modular Architecture](https://daily.dev/posts/inter-module-communication-in-a-modular-architecture-wvyyhqrwy) · ProAndroidDev · 0 upvotes · 0 comments
- [Component Communication Patterns in React Applications](https://daily.dev/posts/component-communication-patterns-in-react-applications-4niwdcm2o) · Neciu Dan · 18 upvotes · 1 comments
- [In Defense of Redux](https://daily.dev/posts/in-defense-of-redux-pcyqzgarj) · ITNEXT · 1 upvotes · 0 comments
- [Medium](https://daily.dev/posts/medium-iaeoxktvu) · Medium · 0 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#r](https://daily.dev/tags/r), [#reactive-programming](https://daily.dev/tags/reactive-programming)

[View this post on daily.dev](https://daily.dev/posts/sharing-data-across-shiny-modules-an-update-tcxljwfvk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Sharing data across shiny modules, an update","url":"https://daily.dev/posts/sharing-data-across-shiny-modules-an-update-tcxljwfvk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/sharing-data-across-shiny-modules-an-update-tcxljwfvk"},"datePublished":"2026-03-10T23:05:16.237Z","dateModified":"2026-03-10T23:05:42.640Z","description":"An in-depth update on strategies for sharing data across Shiny modules in R, revisiting the 'stratégie du petit r' pattern (using reactiveValues() as shared...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e4cec640cc5beea95978171d4ddff265?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e4cec640cc5beea95978171d4ddff265?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"R-bloggers","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"R-bloggers","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/98bcbbdf72774292a55ceda8f2277f1e","url":"https://daily.dev/sources/rbloggers"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/sharing-data-across-shiny-modules-an-update-tcxljwfvk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture,r,reactive-programming","timeRequired":"PT22M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"R-bloggers","item":"https://daily.dev/sources/rbloggers"},{"@type":"ListItem","position":3,"name":"Sharing data across shiny modules, an update"}]}
```

