当前位置: 首页 > news >正文

查找邮箱注册过的网站北京装修设计公司哪家好

查找邮箱注册过的网站,北京装修设计公司哪家好,吉林省工程信息网官网,服务器域名怎么注册1.React hooks React hooks是React16.8的新特性#xff0c;可以让React函数组件具有状态#xff0c;并提供类似componentDidMount和componentDidUpdate等生命周期方法。 React 早期版本#xff0c;类组件可以在shouldComponentUpdate中#xff0c;通过判断props和state是…1.React hooks React hooks是React16.8的新特性可以让React函数组件具有状态并提供类似componentDidMount和componentDidUpdate等生命周期方法。 React 早期版本类组件可以在shouldComponentUpdate中通过判断props和state是否发生变化来决定需不需要重新渲染组件。而继承PureComponent后当组件更新时如果组件的 props 和 state 都没发生改变 render 方法就不会触发省去 Virtual DOM 的生成和比对过程达到提升性能的目的。具体就是 React 自动在shouldComponentUpdate中帮我们做了一层浅比较。这样我们可以少写 shouldComponentUpdate 函数。相对于函数组件我们知道函数每次调用就会执行函数体然而React 官网没有提供对应的方法来缓存函数组件以减少一些不必要的渲染直到 16.6 出来的 React.memo函数。 React 16.8 新出来的Hooks可以让React 函数组件具有状态并提供类似 componentDidMount和componentDidUpdate等生命周期方法。 Hook 这个单词的意思是钩子。 React Hooks 的意思是组件尽量写成纯函数如果需要外部功能和副作用就用钩子把外部代码钩进来。 React Hooks 就是那些钩子。 你需要什么功能就使用什么钩子。React 默认提供了一些常用钩子你也可以封装自己的钩子。 所有的钩子都是为函数引入外部功能所以 React 约定钩子一律使用use前缀命名便于识别。你要使用 xxx 功能钩子就命名为 usexxx。 2.useState 鉴于纯函数自身无法保存状态要在两次组件函数执行期间保存和修改状态必须引入副作用使用外部存储能力所以引入了useState。 const [state, setState] useState(initialState); 其中初始化参数initialState可以试一个值也可以是一个函数。如果传递函数作为 initialState则它将被视为 初始化函数。它应该是纯函数不应该接受任何参数并且应该返回一个任何类型的值。当初始化组件时React 将调用你的初始化函数并将其返回值存储为初始状态。 set函数的参数可以是一个值nextState也可以是一个函数。如果你将函数作为 nextState 传递它将被视为 更新函数。它必须是纯函数只接受待定的 state 作为其唯一参数并应返回下一个状态。React 将把你的更新函数放入队列中并重新渲染组件。在下一次渲染期间React 将通过把队列中所有更新函数应用于先前的状态来计算下一个状态。 2.1 必须在组件的顶层调用 第一个关键点useState 是一个 Hook因此你只能在 组件的顶层 或自己的 Hook 中调用它。你不能在循环或条件语句中调用它。如果你需要这样做请提取一个新组件并将状态移入其中。 因为 hooks 为了在函数组件中引入状态维护了一个有序表。 比如第一次执行函数组件时我们拿到状态 count通过useState初始值为 0 和 bool通过 useState初始值为 false它们其实被保存到一个有序表中它们的值会记录下来 [0, false]。 第二次执行函数组件 会 按顺序 从这个表中拿出 0 和false赋值给 count 和 bool。 如果你把 hook 写到判断条件下导致某个 useState 不执行了这里我们假设 count 的 useState 因为判断条件没有执行会发生什么结果是 bool 拿到了 0发生了错位。 函数本身不能保存状态我们需要额外维护一个有序的表在执行 useState 之类的 hook 时将它们保存到这个表里。 这要求每次函数组件的 hook 执行的位置相同数量正确否则会导致错位不能拿到预期的状态值。 2.2 严格模式下的多次执行 第二个关键点在严格模式中React 将 两次调用组件函数、初始化函数和更新函数以 帮你找到意外的不纯性。这只是开发时的行为不影响生产。如果你的初始化函数是纯函数本该是这样就不应影响该行为。其中一个调用的结果将被忽略。 调用setState只会将更新函数放入队列并不会立即修改当前的state直到下次渲染的时候state才会修改为更新后的值。那么如果你的setState是纯函数在两次渲染之间无论执行多少次都会有相同的state。反之如果你的setState不纯直接修改了当前的state那么多次执行后的结果都不同。React使用Object.is 比较两个state是否相同。 下面是一个纯函数的例子 function TodoList() {// 该函数组件会在每次渲染运行两次。const [todos, setTodos] useState(() {// 该初始化函数在初始化期间会运行两次。return createTodos();});function handleClick() {setTodos(prevTodos {// 该更新函数在每次点击中都会运行两次return [...prevTodos, createTodo()];});}// ... 更新函数不纯的例子 setTodos(prevTodos {// 错误改变 stateprevTodos.push(createTodo()); }); 参考 useState – React 中文文档 为什么 hooks 不能写在循环或者条件判断语句里_hooks为什么不能写在条件语句中-CSDN博客
http://www.w-s-a.com/news/683860/

相关文章:

  • 手机企业网站制作流程3d建模自学
  • 网站优化方案和实施wordpress的归档
  • 建设事业单位网站多少钱集艾设计公司官网
  • 网站建设与管理方案书图片的制作方法
  • 中文建网站美发网站模板带手机版
  • 免费聊天不充值软件windows优化大师下载安装
  • 网站优化的关键词自己怎么做外贸网站空间
  • 现在建设的网站有什么劣势温州互联网公司
  • 重庆自助企业建站模板淘宝关键词top排行榜
  • 平邑网站制作买高端品牌网站
  • 深圳建网站三千网站安全代维
  • 西宁市精神文明建设网站装饰设计甲级资质
  • 做教育行业营销类型的网站徐州做网站多少钱
  • 临沂品牌网站制作企业网站建设搜集资料
  • wordpress注册验证码手机网站优化
  • 往建设厅网站上传东西做衣服的教程网站有哪些
  • 网上商城网站设计免费咨询口腔科医生回答在线
  • 南京网站c建设云世家 s浏览器
  • 如何做镜像别人网站wordpress菜单对齐修改
  • 长春网站建设net企业公示信息查询官网
  • 金鹏建设集团网站可在哪些网站做链接
  • 电子产品网站开发背景网站关键词优化方案
  • 建网站论坛wordpress提交数据库错误
  • 国内网站建设公司开源网站系统
  • 网站开发公司上大连网站建设流程图
  • 银川网站seo宁波网
  • 个人备案网站会影响吗网站添加 备案
  • 网站建设与电子商务的教案关于旅游网站建设的方案
  • 电子商务网站建设设计原则找做网站找那个平台做
  • 天津高端品牌网站建设韶关网站建设墨子