react中如何使用定義數(shù)據(jù)并監(jiān)聽其值
react使用定義數(shù)據(jù)并監(jiān)聽其值
原因
定義了數(shù)據(jù),搜索之后可以打印出來(lái)數(shù)據(jù),但是會(huì)延遲得到搜索后的數(shù)據(jù)。
import * as React from 'react';
export default function MobileList(props) {
const [procDefId, setprocDefId] = useState('')//定義任務(wù)類別
// 搜索任務(wù)類型時(shí)觸發(fā)
const changeRadio = (value) => {
console.log(value)//這樣可以得到搜索的值
setprocDefId(value)//搜索后的內(nèi)容,存入procDefId
}
const getMoblieList = () => {
const obj={
procDefId //但是會(huì)延遲,得到搜索的值
}
getTask(obj).then((res) => {//obj,得不到的值
})
}
}
解決
對(duì)定義的數(shù)據(jù)進(jìn)行useEffect監(jiān)聽,或者還有一個(gè)辦法是加入定時(shí)器setTimeOut進(jìn)行延遲
import * as React from 'react';
import { useEffect } from 'react';
export default function MobileList(props) {
const [procDefId, setprocDefId] = useState('')//定義任務(wù)類別
useEffect(() => {
getMoblieList()
}, [procDefId])//只有監(jiān)聽procDefId變化時(shí),才調(diào)用 getMoblieList函數(shù)
// 搜索任務(wù)類型時(shí)觸發(fā)
const changeRadio = (value) => {
setprocDefId(value)//搜索后的內(nèi)容,存入procDefId
}
const getMoblieList = () => {
const obj={
procDefId //得到搜索的值
}
getTask(obj).then((res) => {//得到的值傳入接口
//對(duì)接口進(jìn)行處理
})
}
}
react數(shù)據(jù)監(jiān)聽方式
監(jiān)聽組件傳遞的值:
componentWillReceiveProps(newProps)
{
參數(shù)為給組件傳遞的參數(shù)
} 監(jiān)聽組件內(nèi)部狀態(tài)的變化:
componentDidUpdate(prevProps,prevState){
參數(shù)分別為改變之前的數(shù)據(jù)狀態(tài)對(duì)象
if(prevState.屬性名!=this.state.屬性名)
{
...
}
}代碼示例:
//組件接收新屬性時(shí)調(diào)用
componentWillReceiveProps(newProps)
{
const {searchName}=this.props;
this.setState({
loading:true
})
setTimeout(()=>{
this.setState({
loading:false,
users:[{url:'https://dss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1906469856,4113625838&fm=26&gp=0.jpg','name':'jeff'},{url:'https://dss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1906469856,4113625838&fm=26&gp=0.jpg',name:'jeff2'}]
})
},2000)
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
react組件memo useMemo useCallback使用區(qū)別示例
這篇文章主要為大家介紹了react組件memo useMemo useCallback使用區(qū)別的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
react 權(quán)限樹形結(jié)構(gòu)實(shí)現(xiàn)代碼
這篇文章主要介紹了react 權(quán)限樹形結(jié)構(gòu)實(shí)現(xiàn)代碼,項(xiàng)目背景react + ant design,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-05-05
React父子組件傳值(組件通信)的實(shí)現(xiàn)方法
本文主要介紹了React父子組件傳值(組件通信)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
Jira 任務(wù)管理系統(tǒng)項(xiàng)目總結(jié)講解
這篇文章主要為大家介紹了Jira 任務(wù)管理系統(tǒng)項(xiàng)目總結(jié)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
React函數(shù)組件和類組件的區(qū)別及說(shuō)明
這篇文章主要介紹了React函數(shù)組件和類組件的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
React 進(jìn)入頁(yè)面后自動(dòng) focus 到某個(gè)輸入框的解決方案
React.js 當(dāng)中提供了 ref 屬性來(lái)幫助我們獲取已經(jīng)掛載的元素的 DOM 節(jié)點(diǎn),你可以給某個(gè) JSX 元素加上 ref屬性,這篇文章主要介紹了React 進(jìn)入頁(yè)面以后自動(dòng) focus 到某個(gè)輸入框,需要的朋友可以參考下2024-02-02

