Load Data Binding Firing Multiple Times When Using Custom Settings or Changing Page Size

In the DataGrid save settings using LoadData binding example, you can see an issue when selecting a page size and/or enabling a filter that LoadData binding is being fired 2 or even 3 times upon saving the settings and reloading the page.

This is not optimal when using the LoadData binding to gather via a JSON request and the JSON request takes seconds or more and is accessing the HTTP request multiple times.

Also, you can see in the example when changing the page size and reloading, it loads the data by the default page size and subsequently reloads the data by the saved page size.

Is this normal behavior?

Loading state from a browser local storage can happen only after the grid is bound and rendered since at this stage JavaScript is available in Blazor and once the state is loaded this will cause new data-binding to render the DataGrid according to the loaded settings. In short: yes, multiple calls of LoadData is normal.