绫荤洰浠嬬粛react-query宸蹭簬2022-06-04鏇存柊娣卞叆鏌ヨ閿拰鏌ヨ鍑芥暟宸蹭簬2022-鏇存柊06-08骞惰璇锋眰鍜屼緷璧栬姹傛洿鏂颁簬2022-06-082022-06-19鏇存柊鏌ヨ缁撴灉缂撳瓨鐘舵€佸拰璋冭瘯宸ュ叿鏇存柊浜?022-06-23鐗堟湰璇存槑鏈暀绋嬪熀浜巖eact-query缂栧啓@4鐗堟湰锛岀洰鍓?2022-06-08)鏄痑lpha鐗堟湰銆傜嚎涓奷emo鏄熀浜巗tackblitz骞冲彴querykeyFAQ鏌ヨkey鐨勫€间笉鑳介噸澶嶏紝闇€瑕佸敮涓€銆傛兂璞′竴涓嬭繖鏍风殑鍦烘櫙銆俵ocalStorage涓缃簡浠ヤ笅鏁版嵁銆傜洰鐨勬槸浠serID涓簁ey灏嗗綋鍓嶇敤鎴锋暟鎹繚瀛樺湪缂撳瓨涓璫onstuserId=1;localStorage.setItem(userId,{username:'fed-orange'})鐒跺悗浠roductId涓簁ey淇濆瓨鍐呭ofaproductinthecacheconstproductId=1;localStorage.setItem(productId,{name:'orange'})姝ゆ椂浣犱細鍙戠幇淇濆瓨鍒發ocalStorage鍙繚瀛樹簡浣犲悗闈㈢紦瀛樼殑鍊笺€傚悓鏍凤紝鍦╮eact-query涓紝濡傛灉杩欐牱鍋氾紝涔熶細閬囧埌杩欐牱鐨勯棶棰樿姹傜敤鎴锋暟鎹甤onstusersQuery=useQuery([userId],fetchUsers);璇锋眰鍟嗗搧鏁版嵁constproductsQuery=useQuery([productId],fetchProducts);濡傛灉褰搖serId鍜宲roductId鐩稿悓鏃讹紝鍚庨潰璇锋眰鐨勬暟鎹細瑕嗙洊鍓嶉潰璇锋眰鐨勬暟鎹紒杩欎釜闂鐨勮В鍐虫柟娉曟槸锛氬彲浠ュ湪鏁扮粍鐨勭涓€涓厓绱犱腑鏀句竴涓瓧绗︿覆鏉ユ爣璇嗗綋鍓嶇殑鏁版嵁绫诲瀷锛堝彲浠ュ弬鑰冧綔鑰呬箣鍓嶆彁鍒扮殑璁捐鏌ヨ閿殑灏忓缓璁殑鍐呭锛夛紝灏卞彲浠ヤ簡瑙e喅杩欎釜闂銆俢onstusersQuery=useQuery(['users',userId],fetchUsers);constproductsQuery=useQuery(['products',productId],fetchProducts);杩欐牱鍋氫笉浠呭彲浠ユ洿濂藉湴缂栧啓鏌ヨ閿紝鑰屼笖鍦ㄨ皟璇曟暟鎹殑杩囩▼涓紝鍦―evTools涓紝浣犲彲浠ヨ交鏉惧尯鍒嗕笉鍚岀殑鏁版嵁锛堜笉瑕佺粰鑷繁鎸栧潙锛屽湪DevTools涓紝鎵€鏈夌紦瀛樼殑鏁版嵁閮藉垪鍑轰簡鏌ヨ閿綔涓虹淮搴︼級锛佹煡璇㈠嚱鏁版煡璇㈠嚱鏁颁娇鐢ㄤ竴涓皬濡欐嫑銆傜浉淇″湪鍓嶉潰鐨勪粙缁嶄腑锛屽ぇ瀹剁殑鎬濊矾鍙兘閮藉眬闄愬湪浜嗘煡璇㈠姛鑳戒笂銆傚彧鑳戒娇鐢╢etch锛堟垨鑰卆xios绛夊簱锛夋潵璋冪敤http鎺ュ彛銆備絾瀹為檯涓婏紝鎵€鏈夌殑Promise鍑芥暟閮藉彲浠ヤ綔涓烘煡璇㈠嚱鏁般€傛瘮濡傛祻瑙堝櫒涓殑寮傛API鎺ュ彛鈥斺€旇幏鍙栧綋鍓嶄綅缃殑API锛屽彲浠ュ皝瑁呮垚涓€涓煡璇㈠嚱鏁般€俢onstgetLocation=async()=>newPromise((resolve,reject)=>{navigator.geolocation.getCurrentPosition(resolve,reject);});鐒跺悗鍦╱seQuery涓娇鐢ㄤ笂闈㈢殑鏌ヨ鍑芥暟鏌ョ湅stackblitz涓婄殑渚嬪瓙1馃憞馃徎import*asReactfrom'react';import{useQuery}from'react-query';exportdefaultfunctionApp(){constgetLocation=async()=>newPromise((resolve,reject)=>{navigator.geolocation.getCurrentPosition(resolve,reject);});constlocationQuery=useQuery(['location'],getLocation);return(
Getlocation
{locationQuery.isLoading?('Gettinglocation'):locationQuery.isError?(locationQuery?.error?.message):(鎮ㄧ殑鍦扮悊浣嶇疆鏄細{locationQuery.data.coords.latitude},{locationQuery.udep
coords.longit>)}