class: center, middle, inverse, title-slide .title[ # Dashboards com R II ] .subtitle[ ## Reatividade: exemplos avançados ] .author[ ###
] .date[ ### Novembro de 2023 ] --- ## Filtros codependentes **Problema**: como fazer para que as opções de um conjunto de filtros sejam automatizamente atualizadas sempre que escolhermos uma opção de um dos filtros. <br> <br> **Solução parcial**: filtros hierárquicos --- ## Atividade Vamos fazer um exemplo de filtros hierárquicos. <br> <center> <img src="https://media.giphy.com/media/JIX9t2j0ZTN9S/giphy.gif" width = "300" height = "300"> <br> <br> <!--
Ao RStudio: .R
--> <center> --- ## Retornando valores de módulos **Problema**: para fazer um módulo devolver mais de um valor reativo, precisamos colocá-los dentro de uma única expressão reativa, fazendo com que uma mudança em qualquer um deles faça com que qualquer output que dependa dessa expressão reativa seja recalculado, mesmo se ele não depender do valore reativo que mudou. <br> <br> **Algumas soluções possíveis**: devolver uma tabela filtrada ou refatorar a UI --- ## Atividade Vamos fazer um exemplo transformando um conjunto de filtros em módulo. <br> <center> <img src="https://media.giphy.com/media/JIX9t2j0ZTN9S/giphy.gif" width = "300" height = "300"> <br> <br> <!--
Ao RStudio: .R
--> <center> --- ## Bancos de dados **Problema**: trabalhar com bancos de dados dentro do Shiny desperta a preocupação de manipularmos os dados de manteira eficiente e de sabermos a hora certa de fazer coletar os dados do banco. <br> <br> **Solução**: usar funções do `dplyr/dbplyr` e só coletar para dentro do app sempre a menor porção possível dos dados. --- ## Atividade Vamos fazer um exemplo utilizando banco de dados. <br> <center> <img src="https://media.giphy.com/media/JIX9t2j0ZTN9S/giphy.gif" width = "300" height = "300"> <br> <br> <!--
Ao RStudio: .R
--> <center>