Skip to content
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

精读《重新思考 Redux》 #83

Closed
ascoders opened this issue May 8, 2018 · 9 comments
Closed

精读《重新思考 Redux》 #83

ascoders opened this issue May 8, 2018 · 9 comments

Comments

@ascoders
Copy link
Owner

ascoders commented May 8, 2018

本周精读是: 重新思考 Redux

作者也是 rematch 的作者。rematch 是我很喜欢的一个 redux 库,提供了框架级别的插件机制让人耳目一新。

让我们一起重新思考 Redux,以及从 rematch 中能学到什么吧!

@ascoders ascoders mentioned this issue May 8, 2018
65 tasks
@Usey95
Copy link

Usey95 commented May 10, 2018

粗略看了一下,有点像dva?

@Hiufan
Copy link

Hiufan commented Jul 12, 2018

rematch和dva的实现确实很像,有什么显著性的区别或者说优势么?

@ascoders
Copy link
Owner Author

@Hiufan 用起来更自然,比如用函数调用代替 put 或者 dispatch。其他方面几乎没区别,包括插件机制和很类似,现在对 redux 优化都集中在使用体验,比如更好的支持 Typescript,而在功能上一般没有区别。

@zaaack
Copy link

zaaack commented Jul 12, 2018

@ascoders 还有彻底抛弃redux,走向静态类型elm风格,比如 hydux。。 https://github.com/hydux/hydux/

@athrunsun
Copy link

dva 之后,有许多基于 redux 的状态管理框架

可以请教一下有哪些吗?

@masx200
Copy link

masx200 commented Jul 1, 2019

https://github.com/masx200/react-simple-global-state-store-hook

使用 react hooks 实现的简单全局状态管理 react-simple-global-state-store-hook

仅仅使用44行代码写成的极简react全局状态管理库

@masx200
Copy link

masx200 commented Jul 1, 2019

redux这么复杂,超级难用,这谁顶得住啊

@Tan90Qian
Copy link

@masx200 那就用mobx吧!我感觉redux用起来不舒服的地方就是dispatch时候需要写字符串type而不是直接用类似对象属性名的形式去调用,导致type匹配失败的场景无法在编译时被发现。rematch提供的新的dispatch形式,以及mutable式的修改store,跟mobx也没太大差别了。无非是保留了通过reducer和effect的命名去分隔了副作用的机制

@DiamondYuan
Copy link

@masx200 那就用mobx吧!我感觉redux用起来不舒服的地方就是dispatch时候需要写字符串type而不是直接用类似对象属性名的形式去调用,导致type匹配失败的场景无法在编译时被发现。rematch提供的新的dispatch形式,以及mutable式的修改store,跟mobx也没太大差别了。无非是保留了通过reducer和effect的命名去分隔了副作用的机制

如果是 ts 可以试试看 dva-model-creator,或者 typescript-fsa ,完全抛弃了裸写字符串的模式。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants