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

jquery 特效 网站简单的响应式网页实例

jquery 特效 网站,简单的响应式网页实例,万网网站空间,1免费做网站类似 vue 的 data 选项 功能 向组件添加响应式变量,当响应式变量变化时,组件的视图UI也会跟着变化【数据驱动视图】 语法 参数为变量的初始值返回值为一个只有两个元素的数组,第一项元素为传入的参数,第二项元素是一个setter 函数…

类似 vue 的 data 选项

功能

向组件添加响应式变量,当响应式变量变化时,组件的视图UI也会跟着变化【数据驱动视图】

语法

  • 参数为变量的初始值
  • 返回值为一个只有两个元素的数组,第一项元素为传入的参数,第二项元素是一个setter 函数

使用范例 – 响应式变量

import { useState } from "react";
const Demo = () => {const [count, setCount] = useState(0);function addOne() {setCount(count + 1);}return <button onClick={addOne}>{count}</button>;
};export default Demo;
  • 声明了响应式变量 count ,初始值为 0
  • 通过 [] 进行了数组的解构赋值,将 0 赋值给了 count ,可响应式改变 count 值的 setter 函数赋值给了
  • 通过 setCount 可修改 count 的值 (setCount 可以自定义为其他名称,如 updateCount , 但推荐统一 set 开头)
  • setCount 的语法是将 count 的新值作为参数传入
  • setCount 的作用是触发视图根据 count 的新值重新渲染

使用范例 – 响应式对象

  const [person, setPerson] = useState({firstName: 'Barbara',lastName: 'Hepworth',email: 'bhepworth@sculpture.com'});function handleFirstNameChange(e) {// 修改属性值setPerson({...person,firstName: e.target.value});}

修改嵌套的属性值

  const [person, setPerson] = useState({name: 'Niki de Saint Phalle',artwork: {title: 'Blue Nana',city: 'Hamburg',image: 'https://i.imgur.com/Sd1AgUOm.jpg',}});function handleNameChange(e) {setPerson({...person,name: e.target.value});}function handleTitleChange(e) {setPerson({...person,artwork: {...person.artwork,title: e.target.value}});}

显然,非常麻烦,可以用 Immer 库编写简洁的更新逻辑

npm install use-immer
import { useImmer } from 'use-immer';
  const [person, updatePerson] = useImmer({name: 'Niki de Saint Phalle',artwork: {title: 'Blue Nana',city: 'Hamburg',image: 'https://i.imgur.com/Sd1AgUOm.jpg',}});function handleNameChange(e) {updatePerson(draft => {draft.name = e.target.value;});}function handleTitleChange(e) {updatePerson(draft => {draft.artwork.title = e.target.value;});}

使用范例 – 响应式数组

  const [fruitList, setFruitList] = useState([]);function changeHandler(e) {let newValue = e.target.value;if (fruitList.includes(newValue)) {// 数组删除元素setFruitList(fruitList.filter((item) => item !== newValue));} else {// 数组新增元素setFruitList([...fruitList, newValue]);}}
http://www.yayakq.cn/news/34773/

相关文章:

  • 网站的动态是什么意思门户网站和网站的区别
  • 开发网站监控平台济南网站营销
  • 医院网站建设工作汇报seo关键词外包
  • 乐东黎族自治县住房建设局网站互联网行业使用收益法进行评估时
  • 企业组网方案seo关键词分析
  • 建设个人信息网站西安网优项目公司
  • 南京网站建设培训做网站和app哪个简单
  • 做淘宝相关网站静态网站中怎么做图片切换
  • 自己做网站的劣势怎么在手机上制作软件
  • 荼叶公司网站模板昆山网站建设kshuituo
  • 网站开发php未来发展网络营销就是建立企业网站
  • asp网站怎么做地方门户网站有前景吗
  • 青年汇网站开发公司帮做论文网站吗
  • 网站开发需要的资源wordpress子站
  • 帝国系统做网站地图wordpress和自己写
  • 深圳深度网站建设辽宁建设工程信息网中标通知书
  • 上海哪个网站最好用网络规划设计师 最高分
  • 天津品牌网站建设公司排名东莞公司网站制作要多少钱
  • 网站建设方案调查分析报告自己做的网站如何放到微信
  • 英文网站建设注意事项热门网站建设加盟平台
  • 网站群管理中企动力是国企性质吗
  • 深圳品牌网站建设公司哪家好珠海最新消息今天
  • 怎么样做网站卖农产品怎样在网上注册免费的网站
  • 如何查找网站根目录wordpress签到积分
  • 通过高新区网站建设wordpress邮件发送下载
  • 湛江免费建站哪里有做家装的设计公司网站
  • 网站怎么做引流呢石家庄信息门户网站定制
  • 建站工具介绍常州互联网公司
  • 成都网站关键字优化网站运行环境建设方案
  • 福建路桥建设有限公司网站网站建设学费