There is an old and endlessly repeated saying in programming and software engineering: YAGNI – You ain't gonna need it. It is mainly related to premature optimization and over-engineering, things most developers are prone to. But sometimes, you should still follow your gut feelings.
The older a codebase gets, the more WTF moments will occur to the people working on it. Therefore, documenting architecture decisions over time is crucial to prevent them from pulling all their hair.
For a first-class user experience on desktop and mobile, native development techniques are the gold standard for various reasons. But is it the only reasonable approach to build user-facing non-web applications?
There is almost an infinite number of solutions for the problem most React applications face – state management. This post discusses a pragmatic and simple and yet powerful approach using the Context system.
With the introduction of hooks, React got some compelling new instruments – including useReducer, which can be used to implement Model-View-Update within a React component.