Реагирование на страницы: как загрузить данные второй страницы при клике - PullRequest
0 голосов
/ 12 марта 2019

Я создаю нумерацию страниц для своего приложения, я новичок в реакцииJS.Я использую API для извлечения данных страницы, но данные длинны как список, я хочу показать его (10-10).Я реализовал для него логику, к счастью, на первой странице было 10 записей, когда я нажимал 2 Ничего не происходит.Я хочу показать первые 10 записи на первой странице, но когда пользователь нажимает на 2, он должен показывать 10-20 записи на второй странице (означает, что при втором щелчке он должен пропускать первые 10 записей и включать 10-20 на второй странице)Это будет поддерживаться таким же образом, когда пользователь нажимает «Далее» или 3.Это возможно, потому что API встроен в loopback, а loopback предоставляет функции фильтрации.Я использовал фильтр в ссылке API только для первых 10 записей, которые отображаются на первой странице.Может кто-нибудь, пожалуйста, помогите мне, как реализовать эту логику.Спасибо

Код

<code>        class Example extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      Item: 5,
      skip: 0
    }

    this.handleClick = this.handleClick.bind(this);
  }

  urlParams() {
    return `http://localhost:3001/meetups?filter[limit]=${(this.state.Item)}&&filter[skip]=${this.state.skip}`
  }

  handleClick() {
    this.setState({skip: this.state.skip + 1})
  }

  render() {
    return (
      <div>
        <a href={this.urlParams()}>Example link</a>
        <pre>{this.urlParams()}
Изменить ссылку )}} ReactDOM.render (, document.querySelector ('div # my-example'))

1 Ответ

0 голосов
/ 12 марта 2019

setState функция асинхронная.Это означает, что вы запускаете второй вызов api перед установкой нового идентификатора в состояние.

Попробуйте передать функцию обратного вызова методу setState:

this.setState({
  id
}, () => this.getData())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...