
View Tree Duality - gactleaks
https://github.com/gactjs/gact/blob/master/docs/view-tree-duality.md
======
acjohnson55
I don't think this a duality in the usual sense. It's just an abstraction
leakage. It's not clear to me that this is a large-scale problem. But I can
imagine it would be helpful for some use cases. Probably just not helpful
enough for such a major change.

~~~
gactleaks
We need a notion of lifecycle independent of reconciliation. The definition
provided in View Tree Duality is natural, essentially locally determined, and
efficient (i.e O(n)).

Without an independent notion of lifecycle, React essentially cannot improve
it’s reconciliation algorithm.

------
mijoharas
Can anyone elaborate on what this is? I've read the article, but have no idea
what gact is.

~~~
svieira
They are proposing a change the way the lifecycle of a React component is
computed. Right now:

    
    
        if (someCondition) {
          return <div><Thing /></div>
        } else {
          return <Thing />
        }
    

will result in `Thing` going through the unmount / re-mount portion of the
component lifecycle every time `someCondition` changes. This proposal suggests
that instead `Thing` should remain mounted. It has been suggested (in the
linked issue
[https://github.com/facebook/react/issues/16316](https://github.com/facebook/react/issues/16316))
that there is a plan to make this possible at some point via something termed
"re-parenting".

