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");
                });
        });