🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

A tiny React.js component for star (or any other icon based) ratings.

Others React

Documentation

react-star-rating-component

npm version Dependency Status Download Count

Tiny React.js component for star (or any other icon based) ratings.

Install

npm install react-star-rating-component --save

Demo

Props

<StarRatingComponent     name={String} /* name of the radio input, it is required */     value={Number} /* number of selected icon (`0` - none, `1` - first) */     starCount={Number} /* number of icons in rating, default `5` */     onStarClick={Function(nextValue, prevValue, name)} /* on icon click handler */     onStarHover={Function(nextValue, prevValue, name)} /* on icon hover handler */     onStarHoverOut={Function(nextValue, prevValue, name)} /* on icon hover out handler */     renderStarIcon={Function(nextValue, prevValue, name)} /* it should return string or react component */     renderStarIconHalf={Function(nextValue, prevValue, name)} /* it should return string or react component */     starColor={String} /* color of selected icons, default `#ffb400` */     emptyStarColor={String} /* color of non-selected icons, default `#333` */     editing={Boolean} /* is component available for editing, default `true` */ />

Examples

Editable

import React from 'react'; import ReactDOM from 'react-dom'; import StarRatingComponent from 'react-star-rating-component';  class App extends React.Component {   constructor() {     super();      this.state = {       rating: 1     };   }    onStarClick(nextValue, prevValue, name) {     this.setState({rating: nextValue});   }    render() {     const { rating } = this.state;          return (                       <div>         <h2>Rating from state: {rating}</h2>         <StarRatingComponent            name="rate1"            starCount={10}           value={rating}           onStarClick={this.onStarClick.bind(this)}         />       </div>     );   } }  ReactDOM.render(   <App />,    document.getElementById('app') );

Non-editable (with custom icons)

import React from 'react'; import ReactDOM from 'react-dom'; import StarRatingComponent from 'react-star-rating-component';  class App extends React.Component {   render() {     const { rating } = this.state;      return (                       <div>         <h2>Rating from state: {rating}</h2>         <StarRatingComponent            name="rate2"            editing={false}           renderStarIcon={() => <span></span>}           starCount={10}           value={8}         />       </div>     );   } }  ReactDOM.render(   <App />,    document.getElementById('app') );

Check more in examples folder.


MIT Licensed


You May Also Like