Изменение двух состояний в дочернем и родительском компоненте одновременно onClick - PullRequest
0 голосов
/ 23 октября 2018

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

Я поместил оба в функцию и вызвал функцию с одним onClick, но вызывается только один ... другой onClick У меня есть

this.toggle

toggle = () => {
  this.setState({
    collapsed: !this.state.collapsed,
  });
}

Это то, что япытаюсь добиться возможного?Или тот факт, что я вызываю два отдельных setState, вызывая повторную визуализацию до вызова другого?

1 Ответ

0 голосов
/ 23 октября 2018

Я думаю, вам следует поднять состояние в дочернем компоненте.

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

Однако вы должны иметь возможность добавить обратный вызов как 2-й аргумент для setState, например:

toggle = () => {
  this.setState({
    collapsed: !this.state.collapsed,
  }, changeState);
}
...