{"id":14066188,"url":"https://github.com/tadascience/react","last_synced_at":"2025-10-22T05:51:34.831Z","repository":{"id":219341237,"uuid":"748774000","full_name":"tadascience/react","owner":"tadascience","description":"☢️ Reactivity helper for 'shiny' ✨","archived":false,"fork":false,"pushed_at":"2024-02-09T16:33:16.000Z","size":4904,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-10-13T02:08:04.905Z","etag":null,"topics":["r","shiny","shiny-r"],"latest_commit_sha":null,"homepage":"https://react.tada.science/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tadascience.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-26T18:27:14.000Z","updated_at":"2024-06-14T21:41:58.000Z","dependencies_parsed_at":"2024-08-13T07:10:43.045Z","dependency_job_id":"0e8c2614-b18f-4ad8-bf9b-fa9396f6e3f8","html_url":"https://github.com/tadascience/react","commit_stats":{"total_commits":34,"total_committers":1,"mean_commits":34.0,"dds":0.0,"last_synced_commit":"74b6dea2517e47efa7afcaa4facf4420b9dbbc15"},"previous_names":["tadascience/react"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadascience%2Freact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadascience%2Freact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadascience%2Freact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadascience%2Freact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tadascience","download_url":"https://codeload.github.com/tadascience/react/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228052721,"owners_count":17862107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["r","shiny","shiny-r"],"created_at":"2024-08-13T07:04:58.784Z","updated_at":"2025-10-22T05:51:29.809Z","avatar_url":"https://github.com/tadascience.png","language":"R","readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# react \u003ca href=\"https://react.tada.science\"\u003e\u003cimg src=\"man/figures/logo.png\" align=\"right\" height=\"138\" /\u003e\u003c/a\u003e\n\n\u003c!-- badges: start --\u003e\n  [![R-CMD-check](https://github.com/tadascience/react/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/tadascience/react/actions/workflows/R-CMD-check.yaml)\n\u003c!-- badges: end --\u003e\n\nThe goal of `react` is to help with reactivity, instead of calling the `foo`\nreactive expression `foo()` you can call `react$foo` similar to how one \ncalls `input$bar` for inputs, or alternatively `react[foo]` or `react[foo()]`.\n\nThe benefit is that it makes it easier to spot calls to reactive expressions\nin your server code. \n\n## Installation\n\nYou can install the development version of react from [GitHub](https://github.com/) with:\n\n``` r\npak::pak(\"tadascience/react\")\n```\n\n## Examples\n\nTake this from the shiny example: \n\n```r\nserver \u003c- function(input, output) {\n\n  dataInput \u003c- reactive({\n    getSymbols(input$symb, src = \"yahoo\",\n               from = input$dates[1],\n               to = input$dates[2],\n               auto.assign = FALSE)\n  })\n\n  output$plot \u003c- renderPlot({\n    chartSeries(dataInput(), theme = chartTheme(\"white\"),\n                type = \"line\", log.scale = input$log, TA = NULL)\n  })\n\n}\n```\n\nWith `react` you can rewrite the `plot` output as one of these, depending on your\ntaste. \n\n```r\n  # react$ is similar conceptually to how input$ works\n  output$plot \u003c- renderPlot({\n    chartSeries(react$dataInput, theme = chartTheme(\"white\"),\n                type = \"line\", log.scale = input$log, TA = NULL)\n  })\n  \n  # react[] \n  output$plot \u003c- renderPlot({\n    chartSeries(react[dataInput], theme = chartTheme(\"white\"),\n                type = \"line\", log.scale = input$log, TA = NULL)\n  })\n  \n  # react[()] so that you still have the calling a function feel\n  #           and you just sourround it\n  output$plot \u003c- renderPlot({\n    chartSeries(react[dataInput()], theme = chartTheme(\"white\"),\n                type = \"line\", log.scale = input$log, TA = NULL)\n  })\n  \n```\n\n","funding_links":[],"categories":["R"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftadascience%2Freact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftadascience%2Freact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftadascience%2Freact/lists"}