Każda funkcja *Input() wymaga kilku argumentów. Pierwsza to ciąg znaków z nazwą widżetu, który będzie używany tylko przez Ciebie. Druga to etykieta, która zostanie wyświetlona użytkownikowi w Twojej aplikacji. Pozostałe argumenty dla każdej funkcji *Input() różnią się w zależności od jej funkcjonalności. Obejmują takie rzeczy, jak wartości początkowe, zakresy i przyrosty. Dokładne argumenty potrzebne widgetowi można znaleźć na stronie pomocy funkcji widgetu (na przykład ? selectIput). Poniższa tabela przedstawia wszystkie dostępne funkcje *Input() ze wskazaniem, do czego są używane:
Funkcja *Input() : Użycie
actionButton() : Przycisk akcji
checkboxGroupInput() : Grupa pól wyboru
checkboxInput() : Pojedyncze pole wyboru
dateInput() : Wybór daty
dateRangeInput() : Wybór zakresu dat
fileInput() : Udostępnianie pliku
helpText() : Tekst pomocy dla formularzy wejściowych
numericInput() :Numeryczne pole wejściowe
radioButtons : Zestaw opcji w przyciskach radiowych
selectInput() : Zestaw opcji w menu rozwijanym
sliderInput() : Suwak wprowadzania numerycznego
submitButton() : Przycisk Prześlij
textInput() : Pole wprowadzania tekstu
Każda z funkcji *Output() wymaga pojedynczego argumentu, którym jest ciąg znaków, którego Shiny użyje do zidentyfikowania odpowiedniego obserwatora na podstawie parametru output w funkcji server. Użytkownicy nie zobaczą tej nazwy, będzie ona używana tylko przez Ciebie. Poniższa tabela przedstawia listę wszystkich dostępnych funkcji *Output() ze wskazaniem, do czego są one używane. Więcej informacji na ich temat można znaleźć na odpowiednich stronach pomocy (na przykład ? tableOutput):
Funkcja *Output(): Użyj
dataTableOutput() : Tabela danych
htmlOutput : Surowy HTML
imageOutput() : Obrazy
plotOutput() : Wykresy
tableOutput() : Tabele
textOutput : Tekst
uiCutput() : Surowy HTML
verbatimTextOutput() : Dosłowny tekst
Wreszcie każda funkcja render*() przyjmuje pojedynczy argument, wyrażenie R otoczone nawiasami klamrowymi ( {} ). Wyrażenia te mogą zawierać jeden prosty wiersz tekstu lub wiele wierszy kodu i wywołań funkcji. Poniższa tabela przedstawia listę wszystkich funkcji render*() ze wskazaniem, do czego są używane. Zgadłeś, możesz znaleźć więcej informacji na ich temat, korzystając z odpowiednich stron pomocy (na przykład? renderText):
Funkcja render*() : Użyj
renderDataTable : Tabela danych
renderImage() : Wizerunek
renderPlot() : Wykres
renderPrint() : Dowolny wydruk
renderTable(): Ramka danych, macierz lub inna struktura przypominająca tabelę
renderText() : Ciąg znaków
renderUI() : Shiny tag lub HTML
Aplikacje Shiny łączą funkcje *Input*(),*Output() i render*() , tworząc potężne aplikacje internetowe. Najprostsze aplikacje będą składać się tylko z wartości reaktywnych i obserwatorów, bez zbytniej logiki między nimi. Jednak możliwe jest również umieszczenie między nimi dowolnej liczby wyrażeń, co pozwala na bardziej złożone aplikacje. Istnieje wiele innych sposobów pracy z reaktywnością w Shiny.