创建永不重建的自定义钩子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建永不重建的自定义钩子相关的知识,希望对你有一定的参考价值。
我正在使用没有状态的自定义钩子,并希望“持久”使用该钩子。
该挂钩称为useMessage()
,仅应在第一个渲染周期中重建,因为我在那里没有使用任何状态。
我想要全局钩子redux钩子useDispatch()
。
怎么可能?
编辑:
我只想拥有1个参考文献/一记辛格尔顿,以免一直被重新呈现!有什么办法可以记住这个钩子吗?我的目标是我能够在例如useEffect(),这绝不会导致useEffect()的重新运行。就像useDispatch / useRef / ...
答案
我不确定这是否是您的意思-但请尝试以下方法:
const [myValue] = useState(() => myInitialValue);
useState接受回调函数作为参数,该函数仅在组件的首次渲染时执行。对于所有将来的渲染,它将返回从函数返回的第一个值。
另一答案
因为您只想在第一次渲染时才调用useMessage()
,并且像useDispatch
一样直接将其编写就可以了...
const MyFun = () => {
const messageUsage = useMessage() ;
const data = ...Some data... ;
messageUsage(data)
}
以上是关于创建永不重建的自定义钩子的主要内容,如果未能解决你的问题,请参考以下文章