Несут ли параметры Blazor дополнительные накладные расходы? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть компонент blazor, которому требуются некоторые внешние данные, поэтому я передаю его через параметр. Мой вопрос: следует ли мне изменить форму данных, создав дополнительную структуру данных и передать ее компоненту, или я должен просто отправить весь исходный объект.

Если передача параметра является ссылкой на исходный объект , то потенциально это будет нести очень мало дополнительных накладных расходов. С другой стороны, если исходный объект является копией, то было бы целесообразно преобразовать только необходимые данные в новый объект.

Спасибо.

1 Ответ

1 голос
/ 19 июня 2020

Blazor не выполняет глубоких сравнений дерева объектов, чтобы увидеть, изменились ли значения при передаче параметров дочерним элементам. Правило состоит в том, что если родитель передает параметр дочернему элементу, тогда всякий раз, когда родительский рендеринг дочернего элемента также будет повторно отображаться на тот случай, если переданное значение изменилось.

Если нет ничего другого в сгенерировано HTML, то никакие изменения DOM производиться не будут.

Если вы передадите 1 или 10 параметров, то с точки зрения производительности очень мало разницы (вероятно, несколько миллисекунд).

...