# Respondedor de dados

Ao construir um aplicativo, você pode definir eventos para os componentes para ouvir as alterações de determinados dados. Por exemplo, para um componente **Tabela**, os eventos integrados para a alteração da propriedade `selectedRow` incluem "Alteração de seleção de linha", "Alteração de filtro", "Alteração de classificação" e "Alteração de página".

No entanto, faltam eventos semelhantes para algumas alterações de dados, como alterações de estados temporários, transformadores ou resultados de consultas. Os respondedores de dados são projetados para esses casos e permitem ouvir e responder a qualquer alteração nos dados.

{% hint style="info" %}
Os eventos para respondedores de dados são mais gerais do que os eventos que escutam alterações de dados, como alteração de conteúdo, alteração de seleção de linha, etc.
{% endhint %}

## Ouça as alterações de dados

No editor de consultas, clique em **+ Novo** e selecione **Respondedor de dados** para criar um novo respondedor de dados.

<figure><img src="/files/qPbtyaSM8maMeA7CR0Tw" alt=""><figcaption></figcaption></figure>

Você pode definir os dados que o respondedor de dados escuta. Ele suporta todos os tipos de formatos de dados, incluindo número, string, array e objeto JS. No exemplo a seguir, qualquer alteração de valor no componente **Texto** aciona uma notificação global.

<figure><img src="/files/Pm6Aevvs5F0JDwSOLf0j" alt=""><figcaption></figcaption></figure>

Se os dados estiverem em formato de array ou objeto JS, a alteração dos dados de qualquer subelemento acionará o evento configurado. Por exemplo, os dados de `dataResponder2` são um objeto JS, que escuta dois componentes **Entrada de Texto** no aplicativo. A alteração de dados de qualquer componente aciona a mesma notificação global.

<figure><img src="/files/1IwhzdCVfjkTiqKjF8rQ" alt=""><figcaption></figcaption></figure>

## Respondendo ações

Para obter informações detalhadas, vá para [Manipuladores de eventos](/portugues-brasil/construcao-de-aplicativos/event-handlers.md) > [Ações](/portugues-brasil/construcao-de-aplicativos/event-handlers.md#actions).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://pocketblocks.pedroza.dev/portugues-brasil/construcao-de-aplicativos/write-javascript/data-responder.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
