Following the below approach to show Bootstrap 5 Toast dynamically on click of a button in React.js
import statement:
import * as bootstrap from 'bootstrap';
Button click submit handler:
let toastEl = document.getElementById('myToast');
let toast = new bootstrap.Toast(toastEl, {autohide: false});
toast.show();
render:
<div class="toast align-items-center" id="myToast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="d-flex">
<div class="toast-body">
Hello, world! This is a toast message.
</div>
<button type="button" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
</div>
<button type="button" className="btn btn-primary" id="showToast" onClick={this.showToast}>Show Toast</button>
Is there any alternate method to do this in React way, as it is NOT recommended to use document.getElementById in React? Tried by using Ref, but Toast doesn't display.
You can use the
useRefanduseEffectReact hooks...Bootstrap 5 with React demos