当前位置: 首页 > 面试题库 >

如何在reactJs中实现分页

黎征
2023-03-14
问题内容

我是ReactJS的新手,正在其中创建一个简单的TODO应用程序。实际上,这是一个非常基本的应用程序,没有数据库连接,任务存储在数组中。我现在想添加分页功能,并添加了“编辑和删除”功能。如何实施?任何帮助将不胜感激。谢谢…!!


问题答案:

我最近在纯React
JS中实现了分页。这是一个工作示例:http :
//codepen.io/PiotrBerebecki/pen/pEYPbY

当然,您必须调整逻辑和页码的显示方式,以使其符合您的要求。

完整代码:

class TodoApp extends React.Component {
  constructor() {
    super();
    this.state = {
      todos: ['a','b','c','d','e','f','g','h','i','j','k'],
      currentPage: 1,
      todosPerPage: 3
    };
    this.handleClick = this.handleClick.bind(this);
  }

  handleClick(event) {
    this.setState({
      currentPage: Number(event.target.id)
    });
  }

  render() {
    const { todos, currentPage, todosPerPage } = this.state;

    // Logic for displaying todos
    const indexOfLastTodo = currentPage * todosPerPage;
    const indexOfFirstTodo = indexOfLastTodo - todosPerPage;
    const currentTodos = todos.slice(indexOfFirstTodo, indexOfLastTodo);

    const renderTodos = currentTodos.map((todo, index) => {
      return <li key={index}>{todo}</li>;
    });

    // Logic for displaying page numbers
    const pageNumbers = [];
    for (let i = 1; i <= Math.ceil(todos.length / todosPerPage); i++) {
      pageNumbers.push(i);
    }

    const renderPageNumbers = pageNumbers.map(number => {
      return (
        <li
          key={number}
          id={number}
          onClick={this.handleClick}
        >
          {number}
        </li>
      );
    });

    return (
      <div>
        <ul>
          {renderTodos}
        </ul>
        <ul id="page-numbers">
          {renderPageNumbers}
        </ul>
      </div>
    );
  }
}


ReactDOM.render(
  <TodoApp />,
  document.getElementById('app')
);


 类似资料:
  • 如何在Struts 2中为客户端显示实现分页,并将Hibernate作为持久层。 以下是我迄今为止完成的代码: 有没有办法在没有标签的情况下实现这一点?

  • 问题内容: Spring MVC中是否有任何现成的,易于实现的标准分页组件/ tag-lib或代码示例可用于分页? 问题答案: 有关示例,请参见样本中的JPetstore,例如

  • 这类似于这个没有任何答案的问题。我已经阅读了所有关于如何在twitter、facebook和Disqs api中使用游标的内容,以及这篇关于Disqs通常如何构建游标的文章,但我似乎仍然无法理解它们是如何工作的,以及如何在我自己的项目中实现类似的解决方案。有人能具体解释他们背后的不同技术和概念吗?

  • 问题内容: 是否有任何可用于实现列表分页的库? 假设我有10行的空间,并且用户可以选择是否要按页面向前或向后滚动(因此+-10个项目)。这可能例如由来控制。 要构建一个类,以防止在没有足够的项目可显示时向后/向前滚动,以及自我保存用户当前在哪个页面上的状态,这可能是一项艰巨的工作。 那有什么事吗 问题答案: 我之前已经解决了。我做了一个静态的getPages方法,该方法将通用集合分解为页面列表(也

  • 我想在前端创建一个这样的表,它可以更改页面甚至每页的行(不需要) 我将创建一个lambda函数(带nodejs)来检索分页数据。 但是Dynamodb使用LastEvaluatedKey和ExclusiveStartKey进行分页,这对于像我这样的初学者来说是非常奇怪的。似乎无法应用上表中的正常分页。 我能想到的唯一解决方案是从Dynamodb获取所有数据并将其存储在前端,然后在前端进行分页,但这

  • 问题内容: 当我查看 react.js官方网站的参考中的示例时,我想知道应该如何实现这样一种方法,在该方法中,您将能够动态地控制元素和 元素,使它们成为受控组件?这有可能吗? 在示例中,我们可以看到: 由于工作的性质,我经常发现自己必须执行这种形式。此外,我不知道或 元素直接- 我管理的自定义组件,但为了简单起见这里的缘故,我要求基本的表单元素。 问题答案: 如何动态地添加/删除输入元素? 是的,