useSearchParams
(React Native)useSearchParams
的 React Native 版本。有关 Web 版本,请点击此处.
declare function useSearchParams(
defaultInit?: URLSearchParamsInit
): [URLSearchParams, SetURLSearchParams];
type ParamKeyValuePair = [string, string];
type URLSearchParamsInit =
| string
| ParamKeyValuePair[]
| Record<string, string | string[]>
| URLSearchParams;
type SetURLSearchParams = (
nextInit?:
| URLSearchParamsInit
| ((prev: URLSearchParams) => URLSearchParamsInit),
navigateOpts?: : NavigateOptions
) => void;
interface NavigateOptions {
replace?: boolean;
state?: any;
preventScrollReset?: boolean;
}
useSearchParams
钩子用于读取和修改当前位置 URL 中的查询字符串。与 React 自身的 useState
钩子 一样,useSearchParams
返回一个包含两个值的数组:当前位置的 搜索参数 和一个可用于更新它们的函数。与 React 的 useState
钩子 一样,setSearchParams
也支持 函数式更新。因此,您可以提供一个函数,该函数接受一个 searchParams
并返回一个更新后的版本。
import * as React from "react";
import { View, SearchForm, TextInput } from "react-native";
import { useSearchParams } from "react-router-native";
function App() {
let [searchParams, setSearchParams] = useSearchParams();
let [query, setQuery] = React.useState(
searchParams.get("query")
);
function handleSubmit() {
setSearchParams({ query });
}
return (
<View>
<SearchForm onSubmit={handleSubmit}>
<TextInput value={query} onChangeText={setQuery} />
</SearchForm>
</View>
);
}