-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
精读《怎么用 React Hooks 造轮子》 #112
Comments
Hooks和redux有排斥性吧,也就是说redux能完成的事情,hooks可以完成,以后react用这些数据管理库可能会显得有些臃肿,可能会出现一些比较轻便的小轮子吧,怎么看? |
@TongDaDa Hooks 想要做单一数据流还需要封装一层,所以 redux 还是需要的(Provider),只是这一层的源码可以更薄,而 react-redux 可以被 hooks 取代了(Connect 被 useHook 取代)。 |
真快啊。 |
@zeromake 给力啊,另外 |
mobx-react-lite 是不错: const inputs = useObservable([1, 3, 5])
return (
<span onClick={() => inputs.push(5)}>{inputs.join(',')}</span>
) 不过 Action 不知道丢哪去了,这个简化的容易让代码失去抽象性,改数据还是抽到 Action 里好一些。 |
使用antd-mobile的表单,我想用hooks来写,《怎么用 React Hooks 造轮子》这篇文章中有个useAntdForm()函数,这个函数代码在哪里呢?
问题: 2、 class组件改成function组件后, |
@zwl1619
|
useState返回的第二个参数,当传递的参数不变的话,并不会rerender,所以你的force update写的有问题,有两种方式可以实现fore update
|
@cike8899 确实如此,感谢勘误,文章已修正! |
老师能否发下《怎么用 React Hooks 造轮子》这篇文章的原文地址? |
@tanyplzu issue 里没有写原文链接的,就是没有原文的精读,内容全是原创哈! |
许多轮子都可以用 React Hooks 重新造一遍,无论是内部实现,使用方式,都可以改造为全新的 Hook 版本。
也许 React Hooks 可以让你脑洞大开,造很多新轮子。目前来看,像 redux、mobx、dob 这些数据流都可以改造,Action 部分不用改,与 React 连接部分可以统统改为类似
useRedux
useMobx
useDob
的方式。各种数据流内部
Provider
的实现方式,也可以利用useContext
改造。一波 renderProps 组件比如 react-powerplug 可以以很小成本支持 Hook 版本:
还有更多可以挖掘的,比如 immer 可以将
produce
内置包裹在 setter 函数useImmerState()
等等。还有更多想法可以评论在下方。
The text was updated successfully, but these errors were encountered: