Simple and configurable leaderboard component for react native
$ npm install --save react-native-leaderboard//...
import Leaderboard from 'react-native-leaderboard';
//...
this.state = {
data: [
{userName: 'Joe', highScore: 52},
{userName: 'Jenny', highScore: 120},
//...
] //can also be an object of objects!: data: {a:{}, b:{}}
}
render() {
return (
<Leaderboard
data={this.state.data}
sortBy='highScore'
labelBy='userName'/>)
}| Prop | Type | Required | Description |
|---|---|---|---|
| data | array or object | yes | Object array or object of objects |
| sortBy | string | yes | Data property that should be sorted and displayed |
| labelBy | string | yes | Data property that should be displayed to identify user |
| icon | string | no | Data property that stores the avatar's URL |
| onRowPress | function | no | Called when a row is clicked. Arguments: item, index |
| sort | function | no | Override the default sort behavior. Arguments: data |
| renderItem | function | no | Override the default row. Arguments: item, index |
| containerStyle | object | no | Style for the outer container (RN.View) |
| rankStyle | object | no | Style for the displayed rank (RN.Text) |
| labelStyle | object | no | Style for the displayed name (RN.Text) |
| scoreStyle | object | no | Style for displayed score (RN.Text) |
| avatarStyle | object | no | Style for user images (RN.Image) |
| oddRowColor | string | no | Background color for odd rows |
| evenRowColor | string | no | Background color for even rows |
