> For the complete documentation index, see [llms.txt](https://eventrix.gitbook.io/eventrix/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eventrix.gitbook.io/eventrix/class-decorators/fetchtostate.md).

# @fetchToState

This decorator register class method as fetchToStateReceiver in eventrix.

{% hint style="info" %}
useEventrix" decorator is required if You want use any of eventrix decorators.
{% endhint %}

{% tabs %}
{% tab title="Javascript" %}

```javascript
import React from 'react';
import { useEventrix, fetchToState } from 'eventrix';

@useEventrix
class ClientsService {
    constructor(services) {
        this.axios = services.axios;
    }

    @fetchToState('Clients:loadList', 'clients')
    getList(params, state, emit) {
        return this.axios.get('http://someDomain.com', { params })
            .then(({ data }) => {
                return data;
            });
    };
}

export default ClientsService;
```

{% endtab %}
{% endtabs %}

Below example of code without decorators

{% tabs %}
{% tab title="Javascript" %}

```javascript
import React from 'react';
import { fetchToStateReceiver } from 'eventrix';

class ClientsService {
    constructor(services) {
        this.axios = services.axios;
        this.eventrix = services.eventrix;
        
        this.getListReceiver = fetchToStateReceiver('Clients:loadList', 'clients', this.getList);
        this.eventrix.useReceiver(this.getListReceiver);     
    }

    getList = (params, state, emit) => {
        return this.axios.get('http://someDomain.com', { params })
            .then(({ data }) => {
                return data;
            });
    };
}

export default ClientsService;
```

{% endtab %}
{% endtabs %}
