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

龙岗 网站建设深圳信科星沙网站制作

龙岗 网站建设深圳信科,星沙网站制作,黄山seo公司,洛阳网红打卡地一.useState useState 是一个 React Hook#xff08;函数#xff09;#xff0c;它允许我们向组件添加一个状态变量, 从而控制影响组件的渲染结果 本质#xff1a;和普通JS变量不同的是#xff0c;状态变量一旦发生变化组件的视图UI也会跟着变化**#xff08;数据驱动视…一.useState useState 是一个 React Hook函数它允许我们向组件添加一个状态变量, 从而控制影响组件的渲染结果 本质和普通JS变量不同的是状态变量一旦发生变化组件的视图UI也会跟着变化**数据驱动视图** const [count, setCount] useState(0)useState是一个函数返回值是一个数组数组中的第一个参数是状态变量第二个参数是set函数用来修改状态变量useState的参数将作为count的初始值 1.1 修改状态的规则 状态不可变 在React中状态被认为是只读的我们应该始终替换它而不是修改它直接修改状态不能引发视图更新 let [count, setCount] useState(0)const handleClick () {// 直接修改 无法引发视图更新// count// console.log(count)setCount(count 1)} class组件中this.setState更新是state是合并 hook中 useState中setState是替换 修改对象状态 // 修改对象状态const [form, setForm] useState({ name: jack })const changeForm () {// 错误写法直接修改 不引发视图变化// form.name john// 正确写法setFrom 传入一个全新的对象setForm({...form,name: john})}二.受控表单绑定 vue中的双向数据绑定 // 1. 通过value属性绑定react状态 // 2. 绑定onChange事件 通过事件参数e拿到输入框最新的值 反向修改到react状态身上function App () {const [value, setValue] useState()return (divinputvalue{value}onChange{(e) setValue(e.target.value)}typetext //div) }三. React中获取DOM 在 React 组件中获取/操作 DOM需要使用 useRef React Hook钩子函数 使用useRef创建 ref 对象并与 JSX 绑定在DOM可用时通过 inputRef.current 拿到 DOM 对象 // 1. useRef生成ref对象 绑定到dom标签身上 // 2. dom可用时ref.current获取dom // 渲染完毕之后dom生成之后才可用 function App () {const inputRef useRef(null)const showDom () {console.dir(inputRef.current)}return (divinput typetext ref{inputRef} /button onClick{showDom}获取dom/button/div) }四. 组件通信 4.1 父传子-props props可传递任意的数据 数字、字符串、布尔值、数组、对象、函数、JSX Sonname{name}age{18}isTrue{false}list{[vue, react]}obj{{ name: jack }}cb{() console.log(123)}child{spanthis is span/span}p33/p/Son子组件只能读取props中的数据不能直接进行修改, 父组件的数据只能由父组件修改 4.2 子传父 核心思路在子组件中调用父组件中的函数并传递参数 Son onGetSonMsg{getMsg} /divthis is Sonbutton onClick{() onGetSonMsg(this is son msg)}sendMsg/button/div4.3.兄弟组件通信 使用状态提升实现兄弟组件通信 A组件先通过子传父的方式把数据传给父组件AppApp拿到数据后通过父传子的方式再传递给B组件 4.4.跨层传递数据 使用Context机制跨层级组件通信 实现步骤 使用createContext方法创建一个上下文对象Ctx在顶层组件App中通过 Ctx.Provider 组件提供数据在底层组件B中通过 useContext 钩子函数获取消费数据 // App - A - B import { createContext, useContext } from react // 1. createContext方法创建一个上下文对象 const MsgContext createContext() // 2. 在顶层组件 通过Provider组件提供数据 // 3. 在底层组件 通过useContext钩子函数使用数据 function App () {const msg this is app msgreturn (divMsgContext.Provider value{msg}this is AppA //MsgContext.Provider/div) } function A () {return (divthis is A componentB //div) }function B () {const msg useContext(MsgContext)return (divthis is B compnent,{msg}/div) }
http://www.hkea.cn/news/14515478/

相关文章:

  • 无锡建设银行官网招聘网站wordpress 简洁博客
  • 自己做的网站如何管理工程建设内容包括哪些
  • 宝安网站制作哪里好温岭企业网站建设公司
  • 盐城市亭湖区城乡建设网站百度获客平台怎么收费的
  • 网站建设维护 微信哈尔滨做网站费用报价
  • 南昌手机模板建站app下载安装安卓版
  • 同城的网站建设南京最专业app开发公司
  • 南通优普网站建设制作xiu主题做的网站
  • 攻击jsp网站四川二级站seo整站优化排名
  • 德州做网站建设的公司网站的ico图标做多大
  • 上海微信网站建设公司电话通付盾 建设网站公司
  • 2016个人网站备案学做php网站
  • 免费的网站域名查询阿里云网站空间申请
  • 做网站赚钱容易吗网站添加二级域名
  • 乐清网站改版公司工业设计之父
  • 网站大全app下载莱芜新闻最新消息
  • 怎么寻找网站关键词并优化承德市网站开发
  • 个人网站备案 网站名称wordpress 用户组权限
  • 鲜花网网站开发的意义免费的视频app哪个好用
  • 网站开发方案设计网站怎么建设好看
  • 网站注册流程和费用鄂州官方网站
  • 免费做店招哪个网站好营销推广运营
  • 个人做财经类网站seo免费培训视频
  • 做网站要用框架吗亳州建设网站
  • 仿百度百科网站源码株洲网站建设方案咨询
  • 找网络公司做网站流程中国平安人寿保险公司官网
  • 免费行情网站大全搜狐网衡阳的房地产网站建设
  • 网站中文域名好吗阿里云网站怎么备案域名
  • 网站首页图片怎么更换百货网站建设
  • 网站开发属于什么大学专业wordpress评论列表美化