когда я использую всплывающий триггер semantic-ui-реагировать, все предварительное сообщение и текущее сообщение все показывают - PullRequest
0 голосов
/ 11 декабря 2018

Состояние компонента: 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

...