setState дочернего компонента только при его вызове - PullRequest
0 голосов
/ 30 января 2020

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

render() {
   <EditBank
                deal={dealDetailData && dealDetailData.id}
                open={editBankModalStatus}
                headerText={"Edit Bank Account"}
                getInvestmentOfferingDetailsById = {() =>this.props.getInvestmentOfferingDetailsById({
                  id: this.props.match.params.id
                })}
                bankDetail={bankDetails}
                toggleEditModal={() => this.handleEditModal("editBankModalStatus", {})}
            />
}

Компонент EditBank является модальным, который отображается только тогда, когда editBankModalStatus имеет значение true, и это установить, чтобы быть правдой при нажатии кнопки.

Теперь я хочу установить состояние EditBank только при нажатии кнопки, и независимо от того, что ему было передано bankDetails.
Я устал от перехватывания жизненного цикла componentDidMount, но оно обновляется только при визуализации компонента.

Я хочу обновить состояние компонента EditBank, когда оно отображается только на экране. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 30 января 2020

Попробуйте сделать это:

render(){
  return (
    <div>
      {editBankModalStatus === true &&
            <EditBank
                deal={dealDetailData && dealDetailData.id}
                open={editBankModalStatus}
                headerText={"Edit Bank Account"}
                getInvestmentOfferingDetailsById = {() =>this.props.getInvestmentOfferingDetailsById({
                  id: this.props.match.params.id
                })}
                bankDetail={bankDetails}
                toggleEditModal={() => this.handleEditModal("editBankModalStatus", {})}
            />
      }
    </div>
  );
}

, поэтому EditBank будет отображаться, только если editBankModalStatus имеет значение true.

...