React——作为可选参数的钩子
React——作为可选参数的钩子
你可以把钩子作为参数,但你应该这样做吗?你为什么要这样做?
这是一个和我一起玩的沙盒:
但基本上,它是这样的:
函数奇怪的组件({
钩子 = 使用钩子(),
hook2 = useAnotherHook(钩子),
}) {
返回 (
<div>
<div>{钩}</div>
<div>{钩子2}</div>
</div>
)
} 函数使用钩子(){
回“钩!”
} 函数 useAnotherHook(值){
返回值 || “默认值”
}
这将完全像您在组件内添加钩子一样工作。
但你为什么要这样做?
当我意识到这是可能的时,我用它来简化某些组件的单元测试。
这让我只需传递我想要的值,而不必模拟钩子。
您可以做的另一件令人惊讶的事情是根据您想要的任何内容注入不同的钩子,并更改仅更改钩子的组件隔间。
你应该?
可能不是。
也许这有一些利基用途,但无论你能用这种方式做什么,你都可以用另一种方式来做。
(如果您对这样做的用例有想法,我很想知道。)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明