Я знаю, что в 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;
}