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

[React] 关于 Context 和 Zustand 的一些思考 #49

Open
PeterChen1997 opened this issue Jun 25, 2024 · 0 comments
Open

[React] 关于 Context 和 Zustand 的一些思考 #49

PeterChen1997 opened this issue Jun 25, 2024 · 0 comments
Labels

Comments

@PeterChen1997
Copy link
Owner

  • Context
    • 优点
      • 官方内置
      • 可以嵌套使用
    • 缺点
      • 需要自己封装
      • 如果 state 在组件顶层,会导致所有组件 rerender
      • 会导致无效 rerender,如果 context 太大的话;可以考虑拆分 context 来避免此问题
      • 没法记录值变更
      • 可能会导致无限循环,如果 context value 用了 useMemo,返回了新的对象
      • 不支持异步,不支持中间件
  • Zustand
    • 优点
      • 只渲染特定组件
      • 异步操作比较多
    • 缺点
      • 需要引入库
      • 需要编写对应 mutate 函数
  • 考虑技术选型的点
    • 未来的维护成本
    • 社区支持情况
    • 灵活性
    • 本身是否好用
    • 项目规模
    • 性能需求
    • 团队技术栈
  • 取舍
    • 如果状态不需要改变,或者基本上不变,可以用 context,如 okta 和 sentry,非常方便
    • 如果经常会变更,用 zustand 更加合理
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant