react has become
incredibly popular, and the ecosystem around react is
robust. reactR aims to allow R users to more
easily incorporate react and JSX.
install.packages("reactR")
# for the latest development version
# install from Github
# devtools::install_github("timelyportfolio/reactR")
Let’s use react to render a simple h1 HTML
element below.
## Warning: package 'htmltools' was built under R version 4.3.3
attachDependencies(
tags$script(
"
ReactDOM.render(
React.createElement(
'h1',
null,
'Powered by React'
),
document.getElementById('react-heading-here')
)
"
),
html_dependency_react()
)For more on how we can use R and React, see the blog post React in R. Also, there are many more examples in the Github repo at inst/examples.
JSX
helps ease some of the burden caused by
React.createElement. reactR provides a
babel_transform() function to use JSX.
Hopefully, in the future, we can convince RStudio to modify
htmltools to work directly with JSX (see issue).