Скорей всего, просто криво написали код и он работает не так, как вы задумывали. Постоянный вызов componentDidUpdate говорит о том, что на каждый скролл происходит перерисовка.
const menuItems = [
{id: 1, path: '/', type: 'home', title: 'Home'},
{id: 2, path: '/a3', type: 'desktop', title: 'a3'},
{id: 3, path: '/dashboards/av', type: null, title: 'av'},
];
const items = menuItems.map(item => (
<Menu.Item key={item.id}>
<Link to={item.path}>
type ? <Icon type={item.type} /> : null;
<span>{item.title}</span>
</Link>
</Menu.Item>
));
Вывел сообщение в консоль компонентов внутри, оно не выводится. Значит все же компоненты не перерисовываются и перерисовывается только обертка. Или я не прав?