Возможно ли изменить маршрут при прокрутке?

#reactjs #react-redux #react-router

#reactjs #реагировать-redux #реагировать-маршрутизатор

Вопрос:

Я хочу загрузить несколько компонентов на одной странице и иметь разные маршруты для всех них. Например, я нажимаю на маршрут / article / 1, и он загружает компонент, после полной прокрутки этой статьи я хочу, чтобы маршрут изменился на /article / 2 и соответствующая статья была загружена. Я использую react и react router, в основном я хочу 4 (article / 3, article / 4) статьи на странице, и все они должны прокручиваться с изменением маршрута при прокрутке до конкретной статьи. Как я могу добиться этого, используя react и react-router?

Комментарии:

1. Вы можете использовать пакет npm react-infinite-scroll-component и загружать его по требованию.

Ответ №1:

используйте react-perfect-scrollbar пакет из npm.

index.js (основная точка входа вашего приложения) добавьте этот css

 import 'react-perfect-scrollbar/dist/css/styles.css';
  

ваш файл компонента, в котором вы хотите изменить URL при прокрутке

 import PerfectScrollbar from 'react-perfect-scrollbar';

import { Redirect } from 'react-router-dom';

handleScroll = () => {
  <Redirect to="/article/2" />
} 

<PerfectScrollbar onYReachEnd={this.handleScroll}> // when you reach then end of screen it's call handleScroll function and redirect to other url.so based on your requirements you can pick up from here. 
    // your articles code..
</PerfectScrollbar>