Can we remove elements from a shinyoutput object?
Basic testing suggests no:
## in shinyServer(function(input, output, session)): output$foo <- renderText("foo") ## rm(output[["foo"]]) ## doesn't work ## output[["foo"]] <- NULL ## also doesn't work
The reason for wanting such a function is to prevent server-side memory leaks in long-running applications that frequently call
insertUI() might insert a dynamically-generated
textOutput("foo", ...) element with a corresponding
output[["foo"]] <- renderText(...) assignment to the session's
output object. Now, when
removeUI() removes the
textOutput("foo", ...) element, I'd like to 'clean-up' the session's
output object by removing the
For applications where this is a frequent procedure and where the ID ("foo") is dynamically-generated, the UI can be kept tidy, but I suspect the server-side
output object simply continues to accumulate these entries.
Is there any way to remove a specific entry in the
output object by that entry's ID?