JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/jquery.slick/1.6.0/slick.css">
<div class="slick-carousel"></div>

SCSS

body {
  margin: 0;
}

.slick-slide {
  height: 200px;
}

.slick-dots {
  position: absolute;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0px;
  width: 100%;
  li {
    position: relative;
    display: inline-block;
    margin: 0px 5px;
    padding: 0px;
    cursor: pointer;

    span {
      border-radius: 10px;
      border: 5px solid red;
      display: inline-flex;
      color: red;
      justify-content: center;
      align-items: center;
      width: 30px;
      height: 30px;
    }

    &.slick-active span {
      background: red;
      color: white;
      font-weight: bold;
    }
  }
}

JavaScript

$('.slick-carousel')
  .html([ 'red', 'blue', 'yellow', 'green', 'silver', 'magenta', 'aqua' ]
    .map(n => `<div style="background: ${n}"></div>`)
    .join(''))
  .slick({
    dots: true,
    slidesToShow: 3,
    arrows: false,
    infinite: true,
    customPaging: (slider, i) => `<span>#${i}</span>`,
  });