公司一直没用,我最近学了下想在下个迭代试试,毕竟想学点新东西,不知道现在大环境下 react hooks 发展成什么样了,大家所在的公司现在比较侧重用 react hooks 嘛
1
llb123 2021 年 2 月 8 日
已经全面用 hook 了
|
2
Jirajine 2021 年 2 月 8 日 via Android
hook 是 react 的精髓,不用 hook 不如改用 vue 。
|
3
duduaba 2021 年 2 月 8 日
全面使用,老代码不动,新功能必须 hooks
|
4
bzw875 2021 年 2 月 8 日
入职以来全是 react hook,搞得我类组件都不熟悉。
|
5
karott7 2021 年 2 月 8 日 via iPhone 用了 hooks 一年过了,真香,再也不想写类组件了
|
6
southlink 2021 年 2 月 8 日
hooks + ts 香的一批
|
7
AV1 2021 年 2 月 8 日
我曾经因为 class 嫌弃 react,后来因为 hook 喜欢上 react 。
|
8
10bkill1p 2021 年 2 月 8 日
老项目还是 class,新项目一律 hooks
|
9
weimo383 2021 年 2 月 8 日 via Android 惹,你竟然说惹
|
10
weixiangzhe 2021 年 2 月 8 日 via Android
hook 加 ts 加一
|
11
JQD6r41PkI4o2mEz 2021 年 2 月 8 日 via Android
看情况,hooks 要在 fc 里,fc 不能用修饰
|
12
zhuweiyou 2021 年 2 月 8 日
全面 hooks
|
13
JQD6r41PkI4o2mEz 2021 年 2 月 8 日 via Android
fc 的 setstate 没有 callback,不方便
|
14
gxm44 2021 年 2 月 8 日
全面 hooks
|
15
wobuhuicode 2021 年 2 月 8 日
@imjamespond hook 之后不需要 callback,直接使用 useeffect 就好了
|
16
JQD6r41PkI4o2mEz 2021 年 2 月 8 日 via Android
@wobuhuicode 要的哦,比如有 a,b 两个按钮都要改某个 state 但实现业务不同,回调不能相同哦
|
17
azcvcza 2021 年 2 月 8 日
@imjamespond 可以自己封一个
``` function useCallbackState(state){ const callbackRef = useRef(); const [data, setData] = useState(state); useEffect( ()=>{ callbackRef.current && callbackRef.current(state) },[state] ) return [data, function(d, callback ){ callbackRef.current = callback; setData(d); }] } ``` 正常使用就是 const [s1, setS1] = useCallbackState(1); // 返回的 setS1 = function(state,callback) 与 class 版本统一; 使用回调直接 setS1(2, ()=>{})即可 |
18
JQD6r41PkI4o2mEz 2021 年 2 月 8 日 via Android
useeffect 对应的是 componentdidupdate,不是 setstate 的 callback 哦
@wobuhuicode |
19
JQD6r41PkI4o2mEz 2021 年 2 月 8 日 via Android
@azcvcza 这个实现我知道,但是 callback 中如果要调用其它的 fc 的方法比如 foo,foo 中的打印 data 还是旧的,class 中 callback 调用其它成员 method 就没这个问题
|
20
wobuhuicode 2021 年 2 月 8 日
@imjamespond
如果刚使用 hooks 的话这样对应的话就没有太多的问题,但是随着深入使用的话,这种类比使用就会让你很困惑。 其实 setState 的 callback 和 componentdidupdate 是等价的。但是由于 class 写法的 state 最终还是一个 big object 。componentdidupdate 无法把 state 分割到你想要的颗粒度。 要说 useeffect 除了是一个 componentdidupdate 之外,它还是一个更理想的数据监听器。 |
21
zhuzhibin 2021 年 2 月 8 日
我想请教一下使用 react-hooks 的优势有哪些?
|
22
JQD6r41PkI4o2mEz 2021 年 2 月 8 日 via Android
@wobuhuicode 要说监听 class 可以 shouldupdate 和 didupdate,里面可以根据业务比如大于或小于,而 hooks 要用 ref 保存更新之前的值,反而麻烦,只能说互有利弊,个人认为 hooks 不能完全替代 class
|
23
beginor 2021 年 2 月 8 日 via Android
最近也才发现 hooks 真象
|
25
danieladu 2021 年 2 月 8 日 via Android
必须全面使用,配合 ts,太香了
|
26
duan602728596 2021 年 2 月 8 日 via iPhone
项目全部使用 hook,太香了,太爽了,太舒服了
|
27
JerryCha 2021 年 2 月 8 日
什么?居然还有人写 React 没用 hook ?
|
28
guoliim 2021 年 2 月 8 日
already hook
|
29
cleveryun 2021 年 2 月 9 日 via Android
普及度这么高的吗,我们项目框架版本轻易不更改,还没到可以用 hook 的版本
|
30
HariopaNic OP @cleveryun 我们也是,所以一直没办法试试新东西。
|
31
SmiteChow 2021 年 2 月 10 日
使用了一个月了,个人认为已经 Ready for Production 。
|
32
Jtyczc 2021 年 2 月 12 日
我就想问问
全面用 hook 了的一定要用上 ts 吗? 另外,状态管理选哪个? redux ? mobx ? |
33
HariopaNic OP @azcvcza 为啥我在 callback 中打印出来的值还是旧的- -
|
34
azcvcza 2021 年 2 月 20 日
@HariopaNic 我一般这么用只是为了在 setXXX 后一定会做某件事,useState 这东西高度依赖闭包,你取的时候估计拿到的不是最新值。我只能用 useRef 来解决,或者看其他大佬有没有更好的办法
|