美文网首页
hook 原理

hook 原理

作者: skoll | 来源:发表于2021-02-22 11:41 被阅读0次

它不是一种魔法,只是一个数组

1 .Hooks 的状态管理都是依赖数组的
2 .Hooks API 背后的思想是你可以将一个 setter 函数通过 Hook 函数的第二个参数返回,用该函数来控制 Hook 管理的数据。有点闭包的意思
3 .初始化:创建两个空数组“setters”与“state”,设置指针“cursor”为 0


image.png

4 .首次渲染

1 .首次执行组件函数
2 .每当 useState() 被调用时,如果它是首次渲染,它会通过 push 将一个 setter 方法(绑定了指针“cursor”位置)放进 setters 数组中,同时,也会将另一个对应的状态放进 state 数组中去。
image.png

5 .后续渲染

1 .每次的后续渲染都会重置指针“cursor”的位置,并会从每个数组中读取对应的值
image.png

5处理事件

1 .每个setter都会有一个对应的指针位置的引用,因此当触发任何setter调用的时候都会去触发去改变状态数组中的对应值


image.png

2 .所以你现在应该清除为什么你不应该在条件语句或者循环语句中使用 Hooks 了。因为我们维护了一个指针“cursor”指向一个数组,如果你改变了 render 函数内部的调用顺序,那么这个指针“cursor”将不会匹配到正确的数据,你的调用也将不会指向正确的数据或句柄。
3 .顺序非常重要

相关文章

  • iOS逆向 ---- Hook方法及原理OC篇

    iOS逆向 ---- Hook方法及原理OC篇[iOS逆向 ---- Hook方法及原理OC篇](阅读原文

  • 005——HOOK原理

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

  • Android Hook 系列教程(一) Xposed Hook

    章节内容 一. Android Hook 系列教程(一) Xposed Hook 原理分析二. Android H...

  • Go语言一个轻便的实时日志类似slack收集应用

    wslog原理 利用github.com上无数的slack hook 日志工具sdk 遵循 slack hook ...

  • iOS逆向之HOOK原理

    iOS逆向之HOOK原理 HOOK概述 HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称!image.p...

  • iOS逆向学习笔记 - HOOK 原理

    一、HOOK概述 HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称! 009--HOOK原理 一、HOO...

  • HOOK原理

    009--HOOK原理 一、HOOK概述 HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称! iOS中H...

  • HOOK原理

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

  • HOOK原理

    hook(钩子)处理特殊的消息机制 iOS中HOOK技术的几种方式 1、Method Swizzle利用OC的Ru...

  • Hook原理

    Hook 1. 概述:Hook,中文译为“挂钩”或“钩子”。在iOS逆向中是指改变程序运行流程的一种技术。通过ho...

网友评论

      本文标题:hook 原理

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