Necessity, then it is all about what you do and how you do it. For example I really like styled-components it is refreshing and it does enrich CSS quite a bit in my opinion like all things it does come with drawbacks but if your whole application is JS that gets transpiled to HTML/CSS/ in my opinion you are better of coupling logical bits of your app in one place, that way if something breaks layout wise it is most likely to be caused by that component or that piece of CSS written in that JS file.
Edit: And by all means if you can keep things separate do so, that is best practice after all.
tl;dr__\_ It really depends on what is your use case, imho i see nothing wrong with CSS in JS_