The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
reactR
provides a set of convenience functions for using
React
in R
with htmlwidget
constructor templates and local JavaScript
dependencies. The React
ecosystem is rich with components
that can enhance R
web and Shiny apps.
scaffoldReactWidget()
helps build htmlwidgets
to integrate these React
components as R
htmlwidgets
. scaffoldReactShinyInput()
does
the same for Shiny
inputs. The local dependency functions
are modeled after the html_dependency_*
functions from
RStudio’s rmarkdown
package.
You can install reactR from CRAN with
install.packages("reactR")
. For the development version,
please use devtools
as shown below.
# install.packages("devtools")
::install_github("react-R/reactR") devtools
To wrap a React
component as an htmlwidget
,
please see the tutorial htmlwidgets
with reactR. Also, there are a variety of examples in the react-R Github organization.
reactable
is a
very well-built htmlwidget
leveraging this
functionality.
htmlwidgets
built with reactR
work well in
Shiny as outputs. In version 0.4.0
Alan Dipert has added
the ability to easily create React-based official Shiny
inputs with helpers and scaffolds. Please see the tutorial
for more details.
Below are examples of using reactR
directly.
library(reactR)
library(htmltools)
browsable(tagList(
$div(id = "app"),
tags$script(
tags"
ReactDOM.render(
React.createElement(
'h1',
null,
'Powered by React'
),
document.getElementById('app')
)
"
),#add core-js first to work in RStudio Viewer
html_dependency_corejs(),
html_dependency_react()
))
reactR
uses the V8
package if available to
transform JSX
and ES2015
code with
babel
.
library(reactR)
library(htmltools)
browsable(
tagList(
$div(id = "app"),
tags$script(
tagsbabel_transform('ReactDOM.render(<h1>Powered By React/JSX</h1>,document.getElementById("app"))')
),# add core-js shim first for React in older versions of RStudio Viewer
#html_dependency_corejs(),
html_dependency_react()
) )
We welcome contributors and would love your participation. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by the terms.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.