Thanks for the useful article but I just have a note about your second tip about forms, in most cases we have to know the input of the user while he is typing in order to give him instant feedback about his input .
Yes we do have to give instant response to the user in some cases. But if it's a simple form with super basic values (like a login, signup or download page), it's better to use the FormData method so that we don't have to handle a ton of state.
Or better yet, we can also use some form Library like formik or react-hook-form