Open brianmhunt opened 6 years ago
So looking at the Vue.js lifecycle, I think I've gotten a decent idea of where Lifecycles could be applied in KO.
Overall, there's no over-arching / explicit lifecycle for applyBindings.
However, we can apply life cycles to binding handlers and components.
Here's a first crack at it.
Or how about a Hooks API instead? Those seem all the rage these days. React now uses useState to track observable state, useEffect to track computed side effects, and useMemo to track pure computed values. It's so cool that they found away to use observable primitives to avoid needing those pesky lifecycle functions at all. I even checked out the prior art section of their Documentation and they most pulled this idea from previous work of React focused libraries like Recompose and observable streams like RxJS. It's a good thing since before React I probably would never pictured a world without lifecycle methods that could work off ideas as simple as useState, useEffect, and useMemo. More that you can make stateful components with just a simple function. Just a function. The future is here.
Maybe there is a way Knockout can enter modern 2019 JS dev too with ko.observable, ko.computed, and ko.pureComputed.
Sarcasm aside. Don't go too far down this rabbit hole. Patterns are like hats. They go in and out of fashion. Keep it true to the fundamentals. It was only a matter of time before React acknowledged Knockout had the right pattern all along. Just don't expect them to admit it.
Noting @vvs comment: