- I hate carousels. I wanted to try to recreate a carousel that's on our current public site - it kind of magically appears when the viewport gets small enough and is just a glorified overflow slider. I feel like I've built variations of carousels a thousand times now, so there's a certain appeal in building a web component and never ever doing it again.
- HTML doesn't understand TypeScript. I use TypeScript on all my React projects, and having attribute completion is 💯so going back to "just" HTML made me a little sad. It also made me realize how long it's been since I've written anything in an
.htmlfile that wasn't just
- ... but it is just HTML + JS so it works anywhere.
- ... but Stencil is a compiler that requires a build step, so you haven't quite gotten away from build steps in your front-end development process, but you're closer for every project that uses the Stencil-generated components.
<slot> tag required some Stack Overflow searches and some solutions that I'm still not sure I grok.
If there was ever a chance we were moving away from doing everything in React I'd jump to web components in a second, but when we are building everything in React, adding in another compiler feels like it's overcomplicating our development tooling. But maybe I'll regret saying that when we switch to Vue and have to build another carousel.
I put the demo up on GitHub, it's probably broken in IE. I hate carousels.
Posted: January 2019