
























今天在看useReducer这一章时,看生气了。
文档在介绍引入useReducer的步骤,实现了reducer函数以后,它说了这样一段话:
由于 reducer 函数接受 state ( tasks )作为参数,因此你可以 在组件之外声明它。这减少了代码的缩进级别,提升了代码的可读性。
此时,还没有介绍到写完 reducer 函数后,如何在函数组件内结合useReducerhook 进行使用。
所以我突然陷入了一个非常大的困惑:
为什么 reducer 函数接受 state 作为参数,它都使用到了组件的 state ,还可以在组件之外声明它呢?
后来我才明白,这句话的意思其实是想表达:由于 reducer 函数只通过参数获取当前状态,它不依赖组件内部的任何变量,因此你可以把它声明在组件外部,避免每次渲染都重新创建。
就感觉文档写得不能细读,一细读,这个因果关系就非常牵强,感觉文档作者是一堆 API 摆在他的面前,他不得不,把这一切写通,写得合理。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。