const params = new URLSearchParams(window.location.search); params.set('foo1','abc'); // replace the original value console.log(params.toString()); // "foo1=abc&foo2=bar2" params.append('foo1','def'); // add a new value console.log(params.toString()); // "foo1=abc&foo2=bar2&foo1=def" params.get('foo1'); // 'abc' params.getAll('foo1'); // ['abc','def'] params.delete('foo2'); //delete a key console.log(params.toString()); // "foo1=abc&foo1=def"
const params = new URLSearchParams(window.location.search); params.set('foo1','abc'); window.history.replaceState({}, '', `${window.location.pathname}?${params}`);
新的url query為?foo1=abc&foo2=bar2
在React中於頁面加載時讀取URL Query
1 2 3 4 5 6 7 8 9 10
import { useEffect } from'react';
functionmyApp (){ useEffect ( () => { if(window.location.search){ const searchParams = new URLSearchParams(window.location.search); doSomething (searchParams.get('foo1')); // do something } },[]); // this empty array is a trick to make useEffect to run only once when the page mounted }
評論加載中