Как после обновления части state обновить другую часть state?

Для того чтобы обновить одну часть state после обновления другой части, вам понадобится использовать функцию ngOnChanges() в Angular.

ngOnChanges() — это метод жизненного цикла, который вызывается каждый раз, когда происходят изменения во входных свойствах компонента. Он принимает аргумент типа SimpleChanges, который содержит информацию обо всех изменениях, произошедших во входных свойствах.

Для начала, вам нужно определить входные свойства, которые вы хотите отслеживать и обновлять. Для этого вы можете использовать декоратор @Input(). Например, ваш компонент может иметь два входных свойства - state1 и state2:

@Component({
  selector: 'my-component',
  template: `
    <div>State 1: {{ state1 }}</div>
    <div>State 2: {{ state2 }}</div>
  `
})
export class MyComponent {
  @Input() state1: string;
  @Input() state2: string;

  ngOnChanges(changes: SimpleChanges) {
    // Обновление state2 после изменения state1
    if (changes.state1 && changes.state1.currentValue) {
      this.state2 = changes.state1.currentValue.toUpperCase();
    }
  }
}

В приведенном примере, метод ngOnChanges() проверяет, произошли ли изменения во входном свойстве state1. Если изменения есть и новое значение существует, то свойству state2 присваивается новое значение state1 в верхнем регистре.

Затем вы можете использовать этот компонент в другом компоненте и передать значения state1 и state2 через связывание данных:

<my-component [state1]="myState1" [state2]="myState2"></my-component>

В этом примере, myState1 и myState2 — это переменные или свойства, определенные в вашем родительском компоненте, и они будут связаны с соответствующими входными свойствами компонента MyComponent.

Теперь, когда значение state1 будет изменено во внешнем компоненте, метод ngOnChanges() будет вызван в компоненте MyComponent, и state2 будет обновлен соответствующим образом.

Надеюсь, это поможет вам понять, как обновлять одну часть state после изменения другой части в Angular.