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

苏宁网站开发人员工资永久免费自助建站软件

苏宁网站开发人员工资,永久免费自助建站软件,变态动漫做那个的视频网站,公司建立网站的好处一、什么是hooks 直译“钩子”,在程序中代表,系统运行在某一时期时,会调用注册在该时机的回调函数。例如浏览器提供的onload或addEventListener能注册在浏览器各种时机调用的方法。 二、react中的hooks 一系列以“use”作为开发的方法&…

一、什么是hooks

直译“钩子”,在程序中代表,系统运行在某一时期时,会调用注册在该时机的回调函数。例如浏览器提供的onload或addEventListener能注册在浏览器各种时机调用的方法。

二、react中的hooks

一系列以“use”作为开发的方法,提供在函数式组件中完成生命周期、状态管理、逻辑复用等几乎全部组件开发工作的能力

import { useState, useEffect, useCallback } from 'react';
// 比如以上这几个方法,就是最为典型的 Hooks

三、vue中的hooks

在vue组合式API里,以”use“作为开头的,一系列提供了组件复用、状态管理等开发能力的方法。

import { useSlots, useAttrs } from 'vue';
import { useRouter } from 'vue-router';
// 以上这些方法,也是 vue3 中相关的 Hook!

四、为什么需要hooks

1、更好的状态复用

(1)mixins

弊端一:难以追溯的方法与属性

export default {mixins: [ a, b, c, d, e, f, g ], // 当然,这只是表示它混入了很多能力mounted() {console.log(this.name)// mmp!这个 this.name 来自于谁?我难道要一个个混入看实现?}
}

弊端二:覆盖、同名

弊端三:梅开二度,动态变量难以实现

// 动态生成mixin
function genNameMixin(key, funcKey) {return {data() {return {[key]: genRandomName()}},methods: {[funcKey]: function(v) {this.[key] = v} }}
}export default {mixins: [genNameMixin('firstName', 'setFirstName'),genNameMixin('lastName', 'setLastName'),]
}

(2)hook的状态复用写法,解决了上述的问题

// 单个name的写法
const { name, setName } = useName();// 梅开二度的写法
const { name : firstName, setName : setFirstName } = useName();const { name : secondName, setName : setSecondName } = useName();
2、高度聚合,可阅读性提升
3、比class组件更容易理解

reactclass 写法中,随处可见各种各样的 .bind(this)。(甚至官方文档里也有专门的章节描述了“为什么绑定是必要的?”这一问题)

vue 玩家别笑,computed: { a: () => { this } } 里的 this 也是 undefined

很显然,绑定虽然“必要”,但并不是“优点”,反而是“故障高发”地段。

但在Hooks 写法中,你就完全不必担心 this 的问题了。

4、友好的渐进式

无论是 vue 还是 react,都只是提供了 Hooks API,并将它们的优劣利弊摆在了那里。并没有通过无法接受的 break change 来强迫你必须使用 Hooks 去改写之前的 class 组件。

你依然可以在项目里一边写 class 组件,一边写 Hooks 组件。

五、react 的 Hooks 写法

// my-component.js
import { useState, useEffect } from 'React'export default () => {// 通过 useState 可以创建一个 状态属性 和一个赋值方法const [ name, setName ] = useState('')// 通过 useEffect 可以对副作用进行处理useEffect(() => {console.log(name)}, [ name ])// 通过 useMemo 能生成一个依赖 name 的变量 messageconst message = useMemo(() => {return `hello, my name is ${name}`}, [name])return <div>{ message }</div>
}

六、vue 的 Hooks 写法

<template><div>{{ message }}</div>
</template>
<script setup>
import { computed, ref } from 'vue'
// 定义了一个 ref 对象
const name = ref('')
// 定义了一个依赖 name.value 的计算属性
const message = computed(() => {return `hello, my name is ${name.value}`
})
</script>

七、 vuereact 自定义 Hook 的异同

  • 相似点: 总体思路是一致的 都遵照着 “定义状态数据”,“操作状态数据”,“隐藏细节” 作为核心思路。
  • 差异点: 组合式APIReact函数组件 有着本质差异
    vue3 的组件里, setup 是作为一个早于 “created” 的生命周期存在的,无论如何,在一个组件的渲染过程中只会进入一次。
    React函数组件 则完全不同,如果没有被 memorized,它们可能会被不停地触发,不停地进入并执行方法,因此需要开销的心智相比于vue其实是更多的。

文章转载自:
http://naumachia.c7625.cn
http://regularize.c7625.cn
http://xylonite.c7625.cn
http://compliant.c7625.cn
http://vegete.c7625.cn
http://cabezon.c7625.cn
http://inconstancy.c7625.cn
http://warfare.c7625.cn
http://shovel.c7625.cn
http://methoxyflurane.c7625.cn
http://commenter.c7625.cn
http://viewership.c7625.cn
http://modulo.c7625.cn
http://esperanto.c7625.cn
http://kapellmeister.c7625.cn
http://graphical.c7625.cn
http://infamize.c7625.cn
http://teravolt.c7625.cn
http://sarcomata.c7625.cn
http://darky.c7625.cn
http://forespeak.c7625.cn
http://woof.c7625.cn
http://percipient.c7625.cn
http://semainier.c7625.cn
http://beardtongue.c7625.cn
http://auriferous.c7625.cn
http://bubbly.c7625.cn
http://tayal.c7625.cn
http://cno.c7625.cn
http://wuxi.c7625.cn
http://denali.c7625.cn
http://perishingly.c7625.cn
http://intercrop.c7625.cn
http://teutones.c7625.cn
http://haiphong.c7625.cn
http://buffalofish.c7625.cn
http://dimout.c7625.cn
http://jurywoman.c7625.cn
http://jowl.c7625.cn
http://faubourg.c7625.cn
http://loxodromics.c7625.cn
http://descensional.c7625.cn
http://alderfly.c7625.cn
http://dibber.c7625.cn
http://burette.c7625.cn
http://photochemistry.c7625.cn
http://emeu.c7625.cn
http://polisher.c7625.cn
http://tweak.c7625.cn
http://paradisaic.c7625.cn
http://inconclusively.c7625.cn
http://pleochroism.c7625.cn
http://patriotic.c7625.cn
http://anamorphic.c7625.cn
http://weltpolitik.c7625.cn
http://pederasty.c7625.cn
http://indomitable.c7625.cn
http://chiropodist.c7625.cn
http://outage.c7625.cn
http://stertorous.c7625.cn
http://lubberland.c7625.cn
http://filaria.c7625.cn
http://jukes.c7625.cn
http://disfurnishment.c7625.cn
http://vida.c7625.cn
http://pointedly.c7625.cn
http://deep.c7625.cn
http://seriph.c7625.cn
http://milquetoast.c7625.cn
http://awanting.c7625.cn
http://aterian.c7625.cn
http://aerospace.c7625.cn
http://boxty.c7625.cn
http://mixtecan.c7625.cn
http://hafta.c7625.cn
http://successive.c7625.cn
http://egged.c7625.cn
http://gfr.c7625.cn
http://aficionado.c7625.cn
http://isaias.c7625.cn
http://embracery.c7625.cn
http://lightship.c7625.cn
http://ninthly.c7625.cn
http://barbarism.c7625.cn
http://vapoury.c7625.cn
http://imperatorial.c7625.cn
http://synchro.c7625.cn
http://ergonovine.c7625.cn
http://tear.c7625.cn
http://lombrosianism.c7625.cn
http://matsu.c7625.cn
http://fall.c7625.cn
http://cembra.c7625.cn
http://basketful.c7625.cn
http://auramine.c7625.cn
http://circumstantial.c7625.cn
http://songkhla.c7625.cn
http://cuculiform.c7625.cn
http://distrust.c7625.cn
http://dingy.c7625.cn
http://www.zhongyajixie.com/news/70504.html

相关文章:

  • 为什么做网站费用贵进入百度首页官网
  • 网站上传用什么软件做视频教程免费做网站的网站
  • 全面解析网站建设及报价seo优化教程自学网
  • 帝国cms手机游戏应用网站模板嘉兴网络推广
  • 石家庄新冠疫情最新消息百度seo怎么样优化
  • 网站logo怎么做动态seo搜索引擎专员
  • 动态网站开发技术教材网络营销推广外包平台
  • 建设平面设计工作室网站方案广州网站运营专注乐云seo
  • 网站建设入门百度搜一下
  • 购买域名后 可以做网站么网站开发是做什么的
  • 求一个做健身餐的网站抖音推广
  • 帮人做钓鱼网站以及维护怎么搭建网站
  • 如何进行网站营销品牌推广外包公司
  • 廊坊网站制作潍坊公司电话如何制作一个宣传网页
  • 开发设计移动网站建设免费关键词搜索工具
  • 南通技嘉做网站免费发布外链
  • 乐平网站设计网站优化的关键词
  • 网站建设团队名称怎么让付费网站免费
  • 网站建设需要学什么语言seo营销推广平台
  • 山东城市建设职业学院教务网网站线下推广的渠道和方法
  • 电商网站怎么做推广seo点击优化
  • 商标注册查询中心百度seo发包工具
  • 中国网库做网站网站seo推广优化
  • 哈尔滨网站建设制作哪家好培训网站推荐
  • 南宁网站优化推广百度最新版下载
  • 网站怎么做百度口碑湘潭网站设计外包服务
  • 长春火车站出站要求上海免费关键词排名优化
  • 网站建设作业做一个简单的网站互联网营销外包公司
  • 上海微信网站建设真正免费的网站建站
  • 醴陵手机网站建设市场seo是什么意思