2017-03-17 122 views
0

我是新的反应和面临的问题,当试图完成浏览我的API页面。我所做的:http://pastebin.com/hxf9PJ8k 它完美地符合我的意见,但只显示第一个页面。链接到所有用户配置文件也是如此,只需向api链接添加一个id很简单。所以,我的API返回给我实际上是用户的对象,以及数据库中用户的总数,并链接到下一页(如果存在),或者返回null和上一页或为null。现在我不明白如何使用这些链接来创建2个按钮 - next和prev。如何通过page=到用户道具的全部链接或只是部分,并提出xhr请求。 Api示例视图: count: 2302 next: "http://localhost:8080/instant/api/?page=2" previous:
results:
0: Object 1: Object 2: Object
在此先感谢!反应路由器导航链接从休息api

回答

0

基本上建议你要做的是创建一个变量,这使得你的逻辑非常简单。

以前下一个按钮创建一个独立的组件来处理分页条件,处理父组件的任何点击事件,以保持它的简单。

class PrevBtn extends React.Component { 
    constructor(props){ 
     super(props); 
     this.props.clickHandler = this.props.clickHandler.bind(this); 
    } 

    render() { 
     let button = null; 
     const {currentPage} = this.props; 

     if(currentPage>1){ 
      button = <a onClick={this.props.clickHandler}>Prev</a> 
     }else{ 
      button = <a disabled="disabled">Prev</a> 
     } 
     return(<div>{button}</div>) 
     } 
    } 

我只是做给你一个例子,codePen,但我只是做了上一个按钮逻辑,你自己看着办吧怎么办下一个按钮组件。

+0

感谢您的回答。我是一个真正的新手,我不知道如何将用户组件的下一个和前一个变量的状态传递给这些子组件。问题是我不能使用来自API的链接。例如,指向下一页的链接是domain/api /?page = 2 - 如何将此链接传递给用户而不是当前链接,并使用api中的新数据重新载入用户组件?对不起,我的模糊解释。 – conformist

+0

我建议不要传递前一个和下一个变量,而不是使用处理当前页面的变量,然后根据某些导航条件计算前一个或下一个是否启用用户,如前面解释的示例如果currentPage> 1),则每次状态更改时都应从API中获取相应数据。 –

+0

请勿缩写链接,URL,因为这将在您的API客户端中进行配置,请根据当前页面进行考虑 –