reagent-project / reagent

A minimalistic ClojureScript interface to React.js
http://reagent-project.github.io/
MIT License
4.74k stars 412 forks source link

Make possible to reactify-component to return a functional component #548

Open m-lce opened 2 years ago

m-lce commented 2 years ago

I did not found any way to make reactify-component return a functional component. Even if I use it with a functional compiler like this :

(def functional-compiler (reagent.core/create-compiler {:function-components true}))
(defn reagent-cmp
[props] 
[:> rn/Text "Hello]" )
(def react-cmp (reactify-component reagent-cmp functional-compiler))

react-cmp will no be a functional component. We can use as-element in the reagent-cmp and use the function as a react component but this prevent us to use ratom inside.

Will it be possible to add an option to make reactify-component return a functional component ?

Thanks

Deraen commented 2 years ago

This is a bug, I've forgotten to implement the function-components case for reactify-component. It should be possible to implement this using the existing API.