我的理解是,定制钩子被用作具有横切关注点的组件的 Package 器。但是定制钩子的另一个关键标准是它们利用useState()。我的理解是正确的吗,除非函数使用useState(),否则它不是定制钩子?
编写一个自定义钩子来维护自己的状态感觉有点违反传统的设计原则,一个更加面向服务的无状态体系结构在历史上更倾向于隔离和解耦。
我的意思是,useSelector()钩子在使用Redux时绝对有意义,因为全局状态管理是Redux的专用工作。但是,开发人员应该在Redux或类似全局状态管理工具的上下文之外为应用编写自定义钩子的最引人注目的场景是什么?
如果被问及最具吸引力的驱动因素是什么,您是否会提到任何特定的常见场景?
1条答案
按热度按时间qyzbxkaa1#
首先,钩子不是用来共享状态的。它是用来共享逻辑的(statefull)。定制钩子的唯一要求是函数名必须以
use
开头,不能有其他的。剩下的答案你可以在这里找到。https://beta.reactjs.org/learn/reusing-logic-with-custom-hooks