From 5d3b8891690af79078f714bd9010546deba392ce Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Fri, 15 Nov 2019 21:14:12 +0300 Subject: [PATCH] fix(v2): remove hashbang when click on category (#1999) * fix(v2): remove hashbang when click on collapsed item * Refactor: rename handler --- .../src/theme/DocSidebar/index.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js b/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js index 686b351927..a972e2f6c9 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js +++ b/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import React, {useState} from 'react'; +import React, {useState, useCallback} from 'react'; import classnames from 'classnames'; import Link from '@docusaurus/Link'; @@ -27,6 +27,11 @@ function DocSidebarItem({item, onItemClick, collapsible}) { setCollapsed(item.collapsed); } + const handleItemClick = useCallback(e => { + e.preventDefault(); + setCollapsed(state => !state); + }); + switch (type) { case 'category': return ( @@ -42,9 +47,7 @@ function DocSidebarItem({item, onItemClick, collapsible}) { 'menu__link--active': collapsible && !item.collapsed, })} href="#!" - onClick={ - collapsible ? () => setCollapsed(!collapsed) : undefined - }> + onClick={collapsible ? handleItemClick : undefined}> {label}