Fork me on GitHub
#fulcro
<
2018-07-11
>
j1mr10rd4n05:07:38

hi all, fulcro-template PR#10 updates the full-stack demo project to depend on fulcro-2.5, it’d be lovely if a maintainer could have a look: https://github.com/fulcrologic/fulcro-template/pull/10 thanks!

👍 20
tony.kay19:07:27

Fulcro 2.6.0-SNAPSHOT on clojars. This version has a complete rewrite of the rendering internals which eliminates a number of sources of complexity. I’d love it if as many people as possible could try it out before release to see that it works ok. There are a few observable changes that should not cause problems…the summary is: - React state uses setState now with an updater, though preserves the react semantic of shallow merge even though Fulcro is managing a CLJS map (stored inside of the js map that React tracks internally). The old set-state in fulcro was an overwrite. This is an observable change, since “old state” you didn’t change will now still appear. We don’t accept an updater function ourselves because we’re managing cljs data for you, and there is update-state! which is more like swap!. - The new render algorithm “patches props” instead of using React forceUpdate. This is an internal detail that is both a dramatic simplification for Fulcro, but also will enable better behavior with React async rendering (when it arrives). This also gets rid of some other internal stuff that simply wasn’t right with respect to React 16. - The new rendering will have a different performance than before. I suspect it will be on-par with the old optimizations, but could be slower or faster in specific circumstances. Would love it if someone has a big UI that they could benchmark it against. (@wilkerlucio @mitchelkuijpers?) - This SNAPSHOT should fix all issues with next/prev props in lifecycle methods. @danvingo - The internals of the indexer management moved from deprecated lifecycle methods…I can’t see how this would break anything, but it is an internals change that could have unforseen effects. This could show up as missed updates, but I don’t see how that could happen.

tony.kay19:07:41

Thanks to @currentoor for pairing with me on this 🙂

wilkerlucio20:07:48

@tony.kay I can try it out later today

tony.kay20:07:16

Thanks 🙂

mitchelkuijpers21:07:14

@tony.kay Will have a change next week, we are releasing our Fulcro only UI this week!

parrot 12
dvingo23:07:51

Thanks @tony.kay I am trying out the 2.6.0-SNAPSHOT and the did update fix looks like it's working. I'm using the shadow-cljs lein template and am getting infinite re-renders after any code change

dvingo23:07:01

The project is an existing project started from the lein template of a previous fulcro version, all I did was update the fulcro lib version in project.clj.