3.0.20 • Published 4 years ago

@app-elements/list-resource v3.0.20

Weekly downloads
3
License
ISC
Repository
github
Last release
4 years ago

ListResource

A Component that will request data from an endpoint and then render each item in response results array. This Component assumes the endpoint will point to a Django-Rest-Framework powered API using LimitOffsetPagination. Or, an API with similar JSON output.

Installation

npm install --save @app-elements/list-resource

Usage

import ListResource from '@app-elements/list-resource'

const UserItem = ({ id, name, email }) =>
  <div class='user-item'>
    <h2><a href={`/users/${id}`}>{name}</a></h2>
    <p>{email}</p>
  </div>

const Users = () =>
  <ListResource
    endpoint='https://jsonplaceholder.typicode.com/users'
    limit={10}
    render={UserItem}
  />

export default Users

There is also a named export for rendering a single resource rather than a list.

import { Resource } from '@app-elements/list-resource'

const UserDetails = ({ id, name, email }) =>
  <div>
    <h1>{name}</h1>
    <p>{email}</p>
    <p><a href='/users'>&larr; Back to all Users</a></p>
  </div>

// `id` is passed as a prop from Router, representing the page id we are on:
// `/users/:id`
const User = ({ id }) =>
  <div key={`user-${id}`}>
    <Resource
      endpoint={`https://jsonplaceholder.typicode.com/users/${id}`}
      render={UserDetails}
      id={id}
    />
    {parseInt(id, 10) < 10 &&
      <a href={`/users/${parseInt(id, 10) + 1}`}>Next</a>
    }
  </div>

export default User

Props

PropTypeDefaultDescription
endpointStringNoneThe url to call
limitNumberNoneA convenience prop for setting ?limit=${limit} on the endpoint url
renderComponentNoneThe Component to render for each item in the response results array
paginationBooleanfalseShould ListResource also render a <Pagination /> component?
3.0.20

4 years ago

3.0.19

4 years ago

3.0.18

4 years ago

3.0.17

4 years ago

3.0.16

4 years ago

3.0.14

4 years ago

3.0.15

4 years ago

3.0.13

4 years ago

3.0.12

4 years ago

3.0.11

4 years ago

3.0.10

4 years ago

3.0.9

4 years ago

3.0.8

4 years ago

3.0.7

4 years ago

3.0.6

4 years ago

3.0.5

4 years ago

3.0.4

4 years ago

3.0.3

4 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

3.0.0-alpha.0

4 years ago

2.1.5

4 years ago

2.1.4

4 years ago

2.1.2

4 years ago

2.1.3

4 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.22

5 years ago

2.0.21

5 years ago

2.0.20

5 years ago

2.0.19

5 years ago

2.0.18

5 years ago

2.0.17

5 years ago

2.0.16

5 years ago

2.0.15

5 years ago

2.0.14

5 years ago

2.0.13

5 years ago

2.0.11

5 years ago

2.0.10

5 years ago

2.0.9

5 years ago

2.0.8

5 years ago

2.0.7

5 years ago

2.0.6

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago