老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何理解React受控組件Hooks方式

這篇文章主要介紹“如何理解React受控組件Hooks方式”,在日常操作中,相信很多人在如何理解React受控組件Hooks方式問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何理解React受控組件Hooks方式”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

云縣網站建設公司成都創新互聯,云縣網站設計制作,有大型網站制作公司豐富經驗。已為云縣上1000家提供企業網站建設服務。企業網站搭建\外貿網站制作要多少錢,請找那個售后服務好的云縣做網站的公司定做!

1.受控組件

假設我們有一個簡單的文本字段,并且想訪問其值:

import { useState } from 'react';  function MyControlledInput({ }) {   const [ value, setValue ] = useState('');   const onChange = (event) => {     setValue(event.target.value);   }      return (     <>         
Input value: {value}
                 ) }

如何理解React受控組件Hooks方式

打開示例(https://codesandbox.io/s/controlled-component-uwf8n)并在輸入框中輸入。可以看到 value  變量包含input字段中的值,并且在每次輸入新值時,它也會更新。

input字段受到控制,因為 React 從狀態設置其值。當用戶在input  中輸入內容時,onChange處理程序會使用從事件對象event.target.value訪問的輸入值來更新狀態。

value變量表示用戶真實輸入的值。每次需要訪問用戶在input字段中輸入的值時,只需讀取value狀態變量。

受控組件方法可以幫助我們訪問任何輸入類型的值:常規文本輸入、textarea、select 等。

2. 受控組件中的3個步驟中

設置受控組件需要3個步驟:

定義保存input值的狀態:const [value, setValue] = useState(")。

創建事件處理程序,該事件處理程序在值更改時更新狀態:

const onChange = event => setValue(event.target.value);

3.為input字段分配狀態值,并添加事件處理程序:

3. state 作為真實的數組源

我們看一個更復雜的例子。頁面中有一組員工姓名列表。我們需要添加一個 input字段,當用戶在此字段中鍵入內容時,員工列表將按姓名進行過濾。

function FilteredEmployeesList({ employees }) {  const [query, setQuery] = useState('');    const onChange = event => setQuery(event.target.value);   const filteredEmployees = employees.filter(name => {     return name.toLowerCase().includes(query.toLowerCase());   });    return (     
  

Employees List

      {filteredEmployees.map(name => 
{name}
)}  
  
   ); }

打開演示(https://codesandbox.io/s/gracious-dawn-29qi6?file=/src/App.js),可以自行試試。

如何理解React受控組件Hooks方式

對輸入進行防抖

在前面的實現中,只要在input中輸入一個字符,就會立即過濾列表。這并不總是很方便,因為在輸入查詢時它會分散用戶的注意力。

我們通過debounce來改善用戶體驗:在最后一次更改后,以400毫秒的延遲過濾列表。

import { useDebouncedValue } from './useDebouncedValue'; function FilteredEmployeesList({ employees }) {   const [query, setQuery] = useState('');  const debouncedQuery = useDebouncedValue(query, 400);     const onChange = event => setQuery(event.target.value);    const filteredEmployees = employees.filter(name => {  return name.toLowerCase().includes(debouncedQuery.toLowerCase());  });    return (     
  

Employees List

      {filteredEmployees.map(name => 
{name}
)}  
  
   ); }

打開演示(https://codesandbox.io/s/affectionate-swartz-9yk2u?file=/src/App.js),然后在input中輸放值進行查詢。員工列表不會在你打字時進行過濾,而是在最近一次按下鍵400毫秒后進行過濾。

下面是useDebouncedValue()的實現

export function useDebouncedValue(value, wait) {   const [debouncedValue, setDebouncedValue] = useState(value);    useEffect(() => {     const id = setTimeout(() => setDebouncedValue(value), wait);     return () => clearTimeout(id);   }, [value]);    return debouncedValue; }

受控組件是訪問React中input字段的值的一種方便的技術。它不使用引用,而是作為訪問input值的單一真實源。

到此,關于“如何理解React受控組件Hooks方式”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!


網頁標題:如何理解React受控組件Hooks方式
標題鏈接:http://www.xueling.net.cn/article/pgcohj.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国内黄色大片 | 欧美精品久久久久久久久25p | 91香蕉视频在线 | 精品国产一区二区三区四 | 色婷婷亚洲精品 | 涩涩视频在线观看 | 欧美一区二区综合 | 91日韩精品一区二区三区 | 一本大道一卡二大卡三卡免费 | 国产熟睡乱子伦午夜视频 | 国产一级特黄视频 | 真人性囗交69视频 | 国产伊人久 | 最近中文字幕高清中文字幕无 | 无码字幕av一区二区三区 | 18禁污污网站国产 | 久久婷婷网站 | 黄色av一级 | 日韩欧美色 | 色欧美99| 亚洲无人区码一码二码三码的含义 | 欧美美女性视频 | 亚洲成人网页 | 亚洲色图清纯制服 | 日本污视频 | 中日av乱码一区二区三区乱码 | 国产男女性潮高清免费网站 | 成人在线观看国产 | 欧美日韩视频在线观看一区 | 精品久久香蕉国产线看观看亚洲 | 免费观看啪啪黄的网站 | 亚洲国产精品综合久久久 | 国产极品久久 | 无码中文字幕人妻在线一区二区三区 | 久久久久亚洲AV无码网站 | 91视频免费进入 | 久久精品女同亚洲女同 | 国内自产少妇自拍区免费 | 97香蕉久久国产在线观看 | 国产精品久久久久久52avav | 国产娇小性色xxxxx视频 |