monsterooo / blog

and make promises by the hours
MIT License
14 stars 1 forks source link

> > @monsterooo #40

Open zsjun opened 4 years ago

zsjun commented 4 years ago

@monsterooo

我同意@AlexZhong22c的说法。

  • 这个依赖是要写的,useCallback只是说当依赖不变的时候,返回同一个函数,但是不能省略依赖的
  • useCallback应该是说避免了其他的state对当前函数的影响。这个count的依赖项我认为是必须要的。
  • 另外呢,还可以用useReducer去维护一个局部的redux,dispatch去做,见useReducer

我看错了, setCount(count => count + 1) setCount是个函数,可以拿到最新的值。相当于以前的setState(prevState => prevState.count + 1)。 不过,useCallback(() => setCount(count => count + 1), [])第二个参数写空数组不合适的吧,毕竟官方文档描述认为函数中引用的项都应该出现在依赖中

最佳实践还是按照官方的来没问题,因为那个比较适合大多数情况。

像我们讨论的这种情况(优化依赖和缓存函数),不是应用特别大或者组件特别多的时候不会有太大的问题。

但是如果我们在写代码之前就知道并且做一些优化,对于以后可能会出现的性能问题就会有所避免。

Originally posted by @monsterooo in https://github.com/monsterooo/blog/issues/37#issuecomment-569591036

react 推荐的官方插件,会强制给你把count给你添加上