美文网首页
hook时代数据流方式

hook时代数据流方式

作者: skoll | 来源:发表于2022-02-10 17:06 被阅读0次

useContext+useReducer

1 .自带的最简单的跨组件共享状态方式
2 .缺点:需要创建Context并且挂载Provider,需要自己管理Context
3 .context数据是一个整体,不能做到精确杀星,一旦改变,就会自动触发刷新

function Foo() {
  const { state: { foo } } = useContext(Context);
  // ...
}
function Bar() {
  const { state: { bar } } = useContext(Context);
  // ...
}
Foo中调用disptch对state.foo进行修改,Bar也会刷新

unstated-next

1 .https://github.com/jamiebuilds/unstated-next/blob/master/README-zh-cn.md

image.png

UmiJs中提供的useModel

1 .UmiJS中提供了一个useModel方法,可以很方便的将hooks全局使用,它的默认规则是src/models下导出的hooks会作用于全局,缺点是只能在UmiJs框架
2 .以上的都是基于react的数据管理,无法左到精确刷新,只是数据的简单管理,不包含常见的异步数据处理

不基于React的数据流实现

1 .不基于React的数据流实现就是数据没有存储在React里面,数据改变不会直接触发组件刷新,而是通过其他的方式触发组件重新渲染,
2 .React-redux通过useSelector会精确刷新,不会像context一样导致整体刷新,因为useSelector的重新渲染时自己控制的,而不是交给react处理

总结

1 .如果仅仅是为了全局数据共享,方法很多,但是就思想而言,还是redux的思想更加重要,其实最关键的并不是为了让数据全局共享,而是可以保证数据的流动符合预期.一个很简单的项目已经出现了不是到哪个函数偷偷的改变了数据.做了setState操作

相关文章

  • hook时代数据流方式

    useContext+useReducer 1 .自带的最简单的跨组件共享状态方式2 .缺点:需要创建Contex...

  • hook原理小结

    常用的hook方式主要有导入表hook、导出表hook和inline hook三种。 一,导入表hook 首先需要...

  • Hook原理

    HOOK概述 HOOK示意图 iOS中HOOK技术的几种方式 Method Swizzle 2.fishhook ...

  • 静态插桩的方式来实现Hook Method

    静态插桩的方式来实现Hook Method静态插桩的方式来实现Hook Method

  • fishhook的原理及实例

    1. Hook的方式 Hook是改变程序运行流程的一种方式,通过Hook可以让自己的代码运行在别人的程序中。需要...

  • 单项数据流与Vuex

    单项数据流 单向数据流(Unidirectional data flow)方式使用一个上传数据流和一个下传数据流进...

  • Reducer Hook

    Reducer Hook Flux:Facebook出品的一个数据流框架 规定了数据是单向流动的 数据存储在数据仓...

  • 009--HOOK原理

    一、HOOK概述 HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称! iOS中HOOK技术的几种方式 1...

  • iOS逆向之HOOK原理(十一)

    HOOK概述 HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称! iOS中HOOK技术的几种方式 1、M...

  • HOOK原理

    一、HOOK概述 HOOK(钩子)其实就是改变程序执行流程的一种技术的统称! 二、iOS中HOOK技术的集中方式 ...

网友评论

      本文标题:hook时代数据流方式

      本文链接:https://www.haomeiwen.com/subject/oiankrtx.html