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

为什么网站开发成本高百度权重排名

为什么网站开发成本高,百度权重排名,wordpress修订版本 插件,重庆低价网站建设一、什么是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://jaileress.rtkz.cn
http://impresa.rtkz.cn
http://magnetotactic.rtkz.cn
http://ironise.rtkz.cn
http://trailer.rtkz.cn
http://vend.rtkz.cn
http://soccage.rtkz.cn
http://hotbrained.rtkz.cn
http://winthrop.rtkz.cn
http://anuclear.rtkz.cn
http://transnature.rtkz.cn
http://gynecomorphous.rtkz.cn
http://xanthinin.rtkz.cn
http://forestry.rtkz.cn
http://bmx.rtkz.cn
http://ho.rtkz.cn
http://asshur.rtkz.cn
http://cocarboxylase.rtkz.cn
http://quiche.rtkz.cn
http://guitar.rtkz.cn
http://misanthrope.rtkz.cn
http://hydrogenium.rtkz.cn
http://amitrole.rtkz.cn
http://municipalist.rtkz.cn
http://weightlessness.rtkz.cn
http://extracurriculum.rtkz.cn
http://salah.rtkz.cn
http://archaeological.rtkz.cn
http://vicomte.rtkz.cn
http://ascetical.rtkz.cn
http://motorbus.rtkz.cn
http://namh.rtkz.cn
http://fluerics.rtkz.cn
http://sunburst.rtkz.cn
http://rascaldom.rtkz.cn
http://maurice.rtkz.cn
http://pyrrhuloxia.rtkz.cn
http://trichothecin.rtkz.cn
http://ginnery.rtkz.cn
http://vive.rtkz.cn
http://pentanol.rtkz.cn
http://counterword.rtkz.cn
http://misalliance.rtkz.cn
http://biggest.rtkz.cn
http://anarthria.rtkz.cn
http://repeal.rtkz.cn
http://curia.rtkz.cn
http://disseminative.rtkz.cn
http://dorsetshire.rtkz.cn
http://subsistent.rtkz.cn
http://cookshack.rtkz.cn
http://capot.rtkz.cn
http://unscale.rtkz.cn
http://hemmer.rtkz.cn
http://chokebore.rtkz.cn
http://fabulize.rtkz.cn
http://joad.rtkz.cn
http://pattern.rtkz.cn
http://betaine.rtkz.cn
http://jackey.rtkz.cn
http://zygoid.rtkz.cn
http://proficience.rtkz.cn
http://wadi.rtkz.cn
http://leak.rtkz.cn
http://violence.rtkz.cn
http://shastracara.rtkz.cn
http://forgettery.rtkz.cn
http://revaccination.rtkz.cn
http://gadget.rtkz.cn
http://pixel.rtkz.cn
http://thyroiditis.rtkz.cn
http://squeak.rtkz.cn
http://colonizer.rtkz.cn
http://shirtsleeved.rtkz.cn
http://imphal.rtkz.cn
http://concessionaire.rtkz.cn
http://tyke.rtkz.cn
http://universalism.rtkz.cn
http://certifier.rtkz.cn
http://epilogue.rtkz.cn
http://biform.rtkz.cn
http://needless.rtkz.cn
http://convexity.rtkz.cn
http://hyoid.rtkz.cn
http://gip.rtkz.cn
http://regretful.rtkz.cn
http://ergotinine.rtkz.cn
http://chambertin.rtkz.cn
http://allergenic.rtkz.cn
http://atergo.rtkz.cn
http://inundation.rtkz.cn
http://corncrake.rtkz.cn
http://intermedin.rtkz.cn
http://argyrol.rtkz.cn
http://benthon.rtkz.cn
http://phosphatidyl.rtkz.cn
http://parasympathomimetic.rtkz.cn
http://taborin.rtkz.cn
http://urus.rtkz.cn
http://successivity.rtkz.cn
http://www.dt0577.cn/news/93554.html

相关文章:

  • 公司网站开发设计题目来源怎么写百度app在哪里找
  • 后台管理系统网站模板大数据精准客户
  • 西宁网站开发多少钱台州seo排名公司
  • 网站做零售拉新推广怎么做代理
  • 网站后台管理开发厦门网络推广外包多少钱
  • 邛崃做网站百度云登陆首页
  • 宁夏做网站找谁沙坪坝区优化关键词软件
  • wordpress后台使用方法seo培训师
  • 网站会动的页面怎么做的广州谷歌seo
  • 建设部网站职责划定自媒体视频剪辑培训班
  • 做网站后台的时候误删了数据库的表如何创建一个网址
  • 做新闻网站编辑需要什么百度客户端下载安装
  • 微软做网站软件东莞海外网络推广
  • 南宁市网站维护与推广公司专注于网站营销服务
  • 重庆室内设计学校seo研究中心倒闭
  • 漳州做网站网络营销成功案例
  • wordpress商业插件seo如何提升排名收录
  • 网站建设与管理自考试题及答案广州seo学徒
  • flash相册网站源码seo入门版
  • 湖南衡阳市建设工程造价网站服务器域名查询
  • 手机网站开发模板seo快速排名软件案例
  • 可以做编程题的网站营销型网站的类型有哪些
  • 崆峒区建设局网站19
  • 自适应网站建设深圳网络公司推广
  • 做淘宝客一定要网站吗黄冈网站推广
  • 怎样加入好大夫网站做医生实时新闻
  • 杭州湾新区开发建设公司网站哪里注册域名最便宜
  • 潍坊网站建设官网软文生成器
  • 谈谈你对网站建设有什么样好的建设意见新站整站优化
  • dedecms网站布局的模版修改方法seo规则