Поместить метод обновления в состояние или перейти непосредственно к контексту? - PullRequest
0 голосов
/ 05 марта 2019

Имея такой контекст:

<MatchContext.Provider value={this.state.match}>

Должен ли я тогда поставить

match: {
      match: null,
      updateMatch: this.updateMatch
    },

В моем штате или это нормально?

<MatchContext.Provider value={{
          match: this.state.match.match,
          updateMatch: this.updateMatch
        }}>

Я где-то читал, что последнее плохо влияет на производительность, потому что он должен повторно инициализировать объект при каждом рендеринге или что-то в этом роде.Не могу вспомнить, где я это читал.

1 Ответ

1 голос
/ 05 марта 2019

Ваше право,

Вы должны использовать первый метод и хранить updateMethod внутри состояния компонента.

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

Все потребители, являющиеся потомками поставщика, будут выполнять повторную визуализацию при изменении значения параметра поставщика.

https://reactjs.org/docs/context.html#contextprovider

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...