使用一门技术需要思考存在的原因。
在没有引入Hooks时,使用React的痛点有三个:
1.Reusing Logic
2.Giant component
3.Confusing classes
1.Reusing Logic
在没有Hooks之前,React中代码复用的方式是HOC和Render Props。使用他们会造成代码结构的重构和大量的嵌套,造成Wrapper hell。
2.Giant component
大的组件,一个组件上千行。逻辑分布在不同的生命周期里。
3.Confusing classes
class让人迷惑,并且不便于编译器优化React的代码。
产生问题的原因是:
React doesn't provide a stateful primitive simpler than a class component.