Состояние компонента:
this.state = {
pOM: props.pOM, // the return message of backend, as code is error
isOpen: false
}
<Popup open={this.state.isOpen} trigger={<Button className='btn-gre'>buy</Button>} on='click' content={this.state.pOM} hideOnScroll />
Когда я нажимаю кнопку покупки, он отправляет запрос на сервер и получает ответное сообщение, всплывающее окно показывает его.Предположим, что текущее сообщение A, и когда я в следующий раз нажимаю кнопку покупки, оно возвращает сообщение B, но всплывающее окно компонента покажет все из них, правильный результат, который я хочу, это просто показать B. Теперь я используюsetTimeout, чтобы избежать этого, но не идеально.Поэтому, пожалуйста, скажите мне лучшее решение, thx
Обновление:
componentWillReceiveProps(nextProps){
this.setState({
pOM: nextProps.pOM
})
}
в функции componentWillReceiveProps, я вызову setState