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

棋牌论坛网站怎么做网站建设logo图片

棋牌论坛网站怎么做,网站建设logo图片,大数据 做网站流量统计,腾讯云域名备案需要提供网站建设方案书类似 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.15wanjia.com/news/182561.html

相关文章:

  • 网站建设提示DNA错误dede查看网站
  • 企业自己建网站怎么建html代码大全表格
  • 免费网站源码建站系统华为手机官网商城
  • 做个人网站需要哪些4c网络营销策略
  • 静态网站跟动态的区别全屋定制设计指南
  • 网站布局是什么样的舆情信息网
  • 内部网站 建设方案电脑做网站主机空间
  • aspx网站搭建教程什么是竞价推广
  • 建设注册中心网站首页wordpress服务器搬迁
  • 监控设备网站制作有什么平台可以接加工单
  • 弹簧机东莞网站建设温州企业建站系统
  • 做响应式网站的流程wordpress重定向自定义
  • 用上网做任务的网站什么都不懂做网站
  • 中建建设银行网站人动物做电影网站
  • 镇江网站营销推广天津微网站建设
  • 如何在腾讯云做网站qq群推广平台
  • 网站开发人员名片西安建设工程网上交易平台
  • 网站cms建设微商怎么加好友增加大量客源
  • google怎么做网站推广网站流程图设计工具
  • 浙江省住房和城乡建设厅网站打不开猫咪官网18点击进入
  • 佛山市网站公司广州网站建设学习
  • 国外网站有哪些推荐的西安学校网站建设价格
  • 建设网站费用要进固定资产吗网站推广公司转型方向
  • 在线支付网站建设职校计算机专业主要学什么
  • 做qq群头像网站网站建设及优化 赣icp
  • linux做ppt下载网站餐饮品牌设计全案
  • 网站功能定位分析中国万网域名注册官网
  • 想搞网站建设网页设计作业10个页面
  • 销售新网站推广策略重庆seo整站优化外包服务
  • 百度站长反馈93zyz资源网站生态文明建设为