http spi (socket hook ) 你不能掉进的大坑

本文论述的环境: http通信(网页浏览)


spi 基于lsp在socket链中加入一层  使其能控制socket

玩过剪贴板监控的人都知道 链是什么回事  不过这个spi比剪贴板链的控制力还强


说白一点 spi就是socket钩子


本文说明的重点不是WSPSend   而是WSPRecv时 


正常情况下  WSPRecv应该收到如下类似信息 


HTTP/1.1 200 OK\r\n
Date: Thu, 20 Feb 2014 02:10:58 GMT\r\n
Expires: Fri, 21 Feb 2014 02:10:58 GMT\r\n
Content-Length: 4064\r\n
Content-Type: application/json; charset=utf-8\r\n
Cache-Control: max-age=86400\r\n
Connection: Keep-Alive\r\n
Server: nginx/1.1.19\r\n
Content-Encoding: gzip\r\n
Fw-Via: MEM HIT from ctl-gd-250-017.fcm\r\n
\r\n?


如果加上我知道的常用的三种数据转换方式(字符集编码  压缩编码  传输编码   估计还有很多 我接触不多  不清楚)

WSPRecv收到的也应该是http响应头 +  一堆数据(可能经过了编码)


悲剧的事发生了:

项目是年底之前开始  过年时为了回家安装了猎豹浏览器  年后就开始这个模块 

因为猎豹帮我抢到票了  所以我一直用她

整整3天 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: React Hook 是 React 函数组件中的一种特殊函数,它们的调用必须遵循一定规则,否则会导致应用程序出现错误。 其中一个规则是,React Hook 只能在 React 函数组件的顶层作用域中调用,不能在循环、条件或嵌套函数中调用。这是因为 React Hook 实现时依赖于 React 内部的 Fiber 树结构,如果在循环、条件或嵌套函数中调用 React Hook,就会打破 Fiber 树结构的规则,导致 React Hook 的状态无法正确更新,从而出现错误。 另外,React Hook 调用也不能出现在任何非 React 的函数中,因为它们需要在 React 组件的生命周期中正确执行。 因此,为了避免出现错误,应该在 React 函数组件的顶层作用域中调用 React Hook。 ### 回答2: React Hook 是一种用于在函数组件中处理状态和副作用的特殊函数。根据 React 的规则,我们不能在循环、条件或嵌套函数中直接调用 React Hook。 这主要是因为 React 需要根据每次渲染之间的顺序和数量来保持状态的一致性。在循环中使用 Hook 可能导致组件内部状态错误地共享,从而导致不一致的渲染结果。 在条件语句中调用 Hook 也是不允许的,因为条件语句只在组件的渲染过程中执行一次,并不会在每次渲染时都执行。如果我们在条件语句中使用 Hook,那么 React 无法保证状态的正确更新和一致性。 另外,由于闭包的存在,嵌套函数在每次渲染时都会创建新的函数实例。如果我们在嵌套函数中使用 Hook,那么每个函数返回的状态和副作用都将是独立的,无法建立正确的连接和共享状态。 为了解决这些问题,React 对 Hook 的使用行了限制。它确保我们在组件的每次渲染周期中都以相同的顺序调用 Hook,并通过使用特殊的内部索引来跟踪 Hook 的状态。 如果我们需要在循环、条件或嵌套函数中使用 Hook,可以使用其他方法来达到相同的效果,比如使用数组来存储状态,或使用 useRef 来保存结果。这样可以绕过 React 对 Hook 的限制,并保持状态的一致性和正确更新。 ### 回答3: 不能在循环、条件或嵌套函数中调用 React Hook 是因为 React Hook 的使用规则要求在每次渲染时按照相同的顺序调用 Hook,以确保 hook 的调用顺序在每次渲染时保持一致。同时,这也是为了确保 React 在组件更新时能正确地跟踪和管理它们。 如果在循环中调用 Hook,可能会导致 hook 的调用顺序出现变化,而导致组件状态管理出现错误。循环可能会多次执行,而每次循环执行时,hook 的调用顺序和次数都可能不一样,这将影响到组件内部的状态和副作用管理。 同样的道理也适用于在条件语句中调用 Hook。由于条件语句的结果可能在组件的不同渲染周期中发生变化,如果在条件语句中调用 Hook,可能会导致 hook 的调用顺序不一致,而引起组件状态的混乱。 在嵌套函数中调用 Hook 也会遇到类似的问题。由于嵌套函数的调用位置可能会发生变化,如果在嵌套函数中调用 Hook,就无法保证 hook 的调用顺序在组件的每次渲染中保持一致,从而可能导致状态管理出现错误。 因此,为了遵循 React Hook 的使用规则,保持 hook 的调用顺序一致,我们应该在函数组件的最顶层作用域中调用 Hook,避免在循环、条件或嵌套函数中调用 Hook,以确保组件状态的正确管理和渲染。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值