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 3.6.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).