в родительском элементе в стейте пусть будет { showAlert: false, alertMessage: 'blabla' }
<Alert show={this.state.showAlert} />
пусть будет всегда и по умолчанию скрытый
когда надо, то
this.setState({ showAlert: true, alertMessage: responseFromServer })
setTimeout( () => setState({ showAlert: false }), 5000 )
ну а в самом алерте пусть в зависимости он props.show добавляется класс с css-переходами итд
-
или всё то же самое через редукс, так же с таймаутом на 5 сек, после которого класс элемента меняется обратно на скрытый