News for hackers. Stuff that matters.
Re:Reason React 0.8 by cosmosocean on Wednesday May 13, 2020 @06:21PM (#23172511)
Hey there, is there a `styled-components` library for Reason?

I'm really considering ReasonML for my app, however I'm not a big fan of the styling in reason react.

Re:Reason React 0.8 by JasoonS on Thursday May 14, 2020 @03:20AM (#23176439)
Hey, I recommend sticking to bs-css (https://github.com/reasonml-labs/bs-css). Not because I don't think styled-ppx is super cool or amazing, but because it's so cutting edge your 99% chance going to run into an edge case that isn't well accounted for yet (I had a number of issues when I tried it). bs-css is battle tested today, so if you're goal is stability, I recommend it first.
Re:Reason React 0.8 by davesnx on Thursday May 14, 2020 @04:35AM (#23176993)
Hey JasoonS, I might agree with you, styled-ppx isn't feature complete, would you mind explaining which edge cases aren't accounted?

I'm doing great progress on it and don't want to miss something that is crucial for you.

Re:Reason React 0.8 by thegreatpeter on Wednesday May 13, 2020 @07:15PM (#23172981)
styled-ppx by @davesnx is a great option https://github.com/davesnx/styled-ppx

At Draftbit we've been using https://tailwindcss.com with @dylanirlbeck's https://github.com/dylanirlbeck/tailwind-ppx with great success!

We also use `bs-emotion` (which on the styled-components vs. emotion api side is the same)

Re:Reason React 0.8 by marcagba on Wednesday May 13, 2020 @07:05PM (#23172908)
styled-ppx is young but looks promising. Here a twitter thread about it by the author: https://twitter.com/davesnx/status/1249772395658960897?s=20

https://github.com/ahrefs/bs-emotion seems to be more mature. styled-ppx is built on top of it (seen within styled-ppx readme)

Re:Reason React 0.8 by tsnobip on Wednesday May 13, 2020 @06:40PM (#23172674)
I guess this lib would be the closest alternative in a safe statically typed way : https://github.com/davesnx/styled-ppx There's also a nice lib for tailwind : https://github.com/dylanirlbeck/tailwind-ppx
Re:Reason React 0.8 by davesnx on Thursday May 14, 2020 @04:39AM (#23177018)
Thanks, let me know if you are using it!
Re:Reason React 0.8 by wwewe on Wednesday May 13, 2020 @06:41PM (#23172693)
The approach I've been taking is to use ReasonML to model the domain of my application as well as high level components. ReasonML code remains unaware of the styling of the "lower-level" components for the most part, which I write in typescript with styled-components or emotion.
Re:Reason React 0.8 by chrisweekly on Wednesday May 13, 2020 @09:27PM (#23174121)
Is there any reason to prefer styled-components over emotion? I did a deep dive on this a few months ago, and found that Emotion supports the same API as SC, while also offering benefits like the `sx` prop, not to mention SSR for "free". It also had a reputation for being faster, but I didn't bother to benchmark it.
Re:Reason React 0.8 by davesnx on Thursday May 14, 2020 @04:39AM (#23177016)
SC and the styled API from emotion are identical syntactic-wise and performance-wise. SC used to suffer from performance and big bundle size but these last 2 versions are very balanced. The same way as the sx prop from Emotion it's the css prop from styled-components.

Just to clarify and sell a little my ppx, styled-ppx supports the css prop as well, many people prefer that over the component api.

Re:Reason React 0.8 by thegreatpeter on Wednesday May 13, 2020 @09:59PM (#23174351)
I'm bias as a contributor but Emotion does offer those perks "for free". Emotion has had a track record of quality engineering - Kye pioneered the babel plugin idea in its early days.