Имеет ли значение возвращать только измененные атрибуты состояния в getDerivedStateFromProps()?

Я знаю, что в React 16 новый метод жизненного цикла getDerivedStateFromProps() я должен вернуть null если не нужно ничего менять в состоянии, но меня интересует случай, когда мне все равно нужно обновлять состояние, но количество измененных атрибутов состояния может отличаться. Имеет ли значение, если я добавлю лишние атрибуты, которые не изменились в возвращаемом объекте?

Другими словами, лучше ли:

static getDerivedStateFromProps(nextProps, prevState){
  const foo = /* .. some calculation from props here */
  const bar = /* .. some calculation from props here */
  if (foo === prevState.foo && bar === prevState.bar) {
    return null;
  }
  return {
    foo,
    bar
  };
}

или мне лучше ограничить количество атрибутов в возвращаемом объекте после проверки, что они все равно не изменились:

static getDerivedStateFromProps(nextProps, prevState){
  const foo = /* .. some calculation from props here */
  const bar = /* .. some calculation from props here */
  if (foo === prevState.foo && bar === prevState.bar) {
    return null;
  }
  const newState = {};
  if (foo !== prevState.foo) {
    newState.foo = foo;
  }
  if (bar !== prevState.bar) {
    newState.bar = bar;
  }
  return newState;
}

0 ответов

Другие вопросы по тегам