Mark a function as a render function — markRenderFunction
R/shinywrappers.R
Description
Please use createRenderFunction()
to
support async execution. (Shiny 1.1.0)
Arguments
- uiFunc
A function that renders Shiny UI. Must take a single argument: an output ID.
- renderFunc
A function that is suitable for assigning to a Shiny output slot.
- outputArgs
A list of arguments to pass to the
uiFunc
. Render functions should includeoutputArgs = list()
in their own parameter list, and pass through the value tomarkRenderFunction
, to allow app authors to customize outputs. (Currently, this is only supported for dynamically generated UIs, such as those created by Shiny code snippets embedded in R Markdown documents).- cacheHint
One of
"auto"
,FALSE
, or some other information to identify this instance for caching usingbindCache()
. If"auto"
, it will try to automatically infer caching information. IfFALSE
, do not allow caching for the object. Some render functions (such as renderPlot) contain internal state that makes them unsuitable for caching.- cacheWriteHook
Used if the render function is passed to
bindCache()
. This is an optional callback function to invoke before saving the value from the render function to the cache. This function must accept one argument, the value returned fromrenderFunc
, and should return the value to store in the cache.- cacheReadHook
Used if the render function is passed to
bindCache()
. This is an optional callback function to invoke after reading a value from the cache (if there is a cache hit). The function will be passed one argument, the value retrieved from the cache. This can be useful when some side effect needs to occur for a render function to behave correctly. For example, some render functions callcreateWebDependency()
so that Shiny is able to serve JS and CSS resources.
Value
The renderFunc
function, with annotations.
Details
Should be called by implementers of renderXXX
functions in order to mark
their return values as Shiny render functions, and to provide a hint to Shiny
regarding what UI function is most commonly used with this type of render
function. This can be used in R Markdown documents to create complete output
widgets out of just the render function.
Note that it is generally preferable to use createRenderFunction()
instead
of markRenderFunction()
. It essentially wraps up the user-provided
expression in the transform
function passed to it, then passes the resulting
function to markRenderFunction()
. It also provides a simpler calling
interface. There may be cases where markRenderFunction()
must be used instead of
createRenderFunction()
-- for example, when the transform
parameter of
createRenderFunction()
is not flexible enough for your needs.