Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 2x 1x 1x | import { useEffect, useMemo } from 'react'; import { SearchBoxCore, SearchBoxOptions } from '@mapbox/search-js-core'; const DEFAULTS = SearchBoxCore.defaults; /** * A React hook that returns a {@link SearchBoxCore} instance. * * @param {SearchBoxOptions} options * @param {string} options.accessToken Your Mapbox access token. * @see {@link SearchBoxCore} * @example * ```typescript * import { useSearchBoxCore } from '@mapbox/search-js-react'; * const searchBoxCore = useSearchBoxCore({ accessToken: 'YOUR_MAPBOX_ACCESS_TOKEN' }); * const response = await searchBoxCore.suggest('1600 pennsylvania ave nw', { * sessionToken: 'test-123' * }); * console.log(response); * // { suggestions: [...], attribution: '...', url: '...' }; * ``` */ export function useSearchBoxCore( options: Partial<{ accessToken: string } & SearchBoxOptions> ): SearchBoxCore { const search = useMemo(() => { return new SearchBoxCore(); }, []); useEffect(() => { const { accessToken, ...restOptions } = options; search.accessToken = accessToken; search.defaults = { ...DEFAULTS, ...restOptions }; }, [options]); return search; } |