return(NULL)
}
return(get_data())
})
data_val <- reactive({
if (foo) {
validate("foo is bar")
}
return(get_data())
})
output$result <- renderText({
df <- data_null()
if (is.null(df)) {
return "my placeholder"
}
return(process(df))
})
Если я заменю data_null на data_val, как изменить output$result чтобы он в случае foo писал "my placeholder", а не "foo is bar"?
Реальная задача - у меня есть шайни апп, который требует подгрузку нескольких файлов. И цепь реактивности длиннее, чем в примере.
Если в процессе подгрузки будут ошибки (например нет одного из файлов), я не хочу, чтобы все элементы приложения превращались в сообщениях об ошибках.
Сейчас это решается ручным пробросом null и обработкой его (data возвращает null -> превращается в пустую df -> выводится пустой график).
Но это не совместимо с "каноничным" использованием req и validate.
Не люблю длинные цепочки реактивностей. По многим причинам. Но надо в конкретику опускаться. Частично писал здесь: https://habr.com/ru/articles/649883/
И здесь немного фокусов набрано: https://t.me/r_in_action/370
Обсуждают сегодня