JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css">
<script src="https://use.fontawesome.com/b4f468aefc.js"></script>
<div class="wrapper">
<button data-toggle="collapse" data-target="#collapse-projects" aria-expanded="false" aria-controls="collapse-projects">
<i class="fa fa-eye" aria-hidden="true"></i>
</button>
<div class="collapse" id="collapse-projects">
***SOME CONTENT***
</div>
</div>
<div class="wrapper">
<button data-toggle="collapse" data-target="#collapse-tasks" aria-expanded="false" aria-controls="collapse-tasks">
<i class="fa fa-eye" aria-hidden="true"></i>
</button>
<div class="collapse" id="collapse-tasks">
***SOME CONTENT***
</div>
</div>
JavaScript
$(document).ready(function () {
$('#collapse-tasks')
.on('shown.bs.collapse', function() {
$(this)
.parent()
.find(".fa-eye")
.removeClass("fa-eye")
.addClass("fa-eye-slash");
})
.on('hidden.bs.collapse', function() {
$(this)
.parent()
.find(".fa-eye-slash")
.removeClass("fa-eye-slash")
.addClass("fa-eye");
});
});