My Typescript Journey
My journey with Typescript started in 2016 with Angular2. From there it evolved through a number of Anguilar versions - 4, 6, 8.. until COVID19 rolled along and I rolled off that project.
A friend and mentor had be espousing the virtues of React and so I found a (very enjoyable) React course written by Stephen Grider and set to work. But then, of course, that turned out to be an avenue back into using Javascript.
Several CRUD applications later - My CRUD Applications - and a couple of consulting engagements, I found myself with enough downtime to revisit my Javascript React apps. By this time RTK Query had just been merged into the Redux Toolkit and so , prompted by my React mentor's enthusiasm for Typescript, I embarked on a process to refactor my CRUD applications into Typescript. In part this was motivated by a desire to use RTK Query rather than axios as the vehicle for web API calls. It had been two years of COVID lockdowns since I had first implemented these aoplications and a number of key modules had drifted out of favour, so the 'refactor' turned out to be more a 'rewrite' as many pieces of the puzzle ad changed.
MY React mentor had come to the party again and recommended reading 'Typescript in 50 Lessions' which I started and proved to be of great assistance. After much Googling, visits to Stack Exchange and conversations with people more knowledgable than I, I embarked on uplifting my first CRUD application. A few weeks and much cookie cutting later I had a mostly working application implemented in Typescript with most of the features of the previous Javascript version. From there I progressed to the other React applications, until I got distracted by another full time consulting engagement.
The client for the most complex application re-engaged for some significant enhancements to the original React application which I had implemented in Javascript. Rather than waste time further developing the Javascript version, I went back and completed the implementation of a number of application features I had not bothered to migrate and then pressed forward with the new work.
Among the challenges were coming to terms with some of the typing complexity around working with state store and various data table, form and page events as we implemented a raft of new features to increase the sophistication of the application. I have thrown together a partial list here - My Favourite React Components
Along the way...