UNPKG

@enact/ui

Version:

A collection of simplified unstyled cross-platform UI components for Enact

29 lines (28 loc) 843 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; exports.useLink = useLink; var _react = require("react"); var _util = require("./util"); function useLink() { var _ref = (0, _react.use)(_util.RouteContext) || {}, currentPath = _ref.path, navigate = _ref.navigate; var handleNavigate = (0, _react.useCallback)(function (_ref2) { var path = _ref2.path; if (!navigate) return; navigate({ path: (0, _util.resolve)(currentPath, path) }); }, // omitting currentPath in order to cache the value used a mount time to avoid evaluating // relative paths against updated currentPath values // eslint-disable-next-line react-hooks/exhaustive-deps [navigate]); return { navigate: handleNavigate }; } var _default = exports["default"] = useLink;