Is it useful to use connect () for many small reusable reaction components in reduction

Suppose I have a small reusable component called <LikePanel>that will be used on several pages in different types of parent components, such as <BlogEntry>or <ItemEntry>or <ReplyEntry>.

import {connect} from 'react-redux'
import {likeAction} from './LikeAction'


class LikePanel extends React.Component{

    render() {
        return <ButtonGroup className={this.props.className}>
            <Button onClick={()=>this.onClickLiking()}>
                <Glyphicon glyph="thumbs-up"/>{this.props.like}</Button>
            </ButtonGroup>

    }

    onClickLiking(type){
       this.props.dispatch(likeAction());
    }
}

const mapStateToProps = state => {
   let obj = {};
   obj[LIKE] = state[LIKE];
   return obj;
}

export default connect(mapStateToProps)(LikePanel)

Examples of use LikePanel:

class BlogEntry extends React.Component{

    render(){

       return this.props.data.entry.map((item)=>{

           return <div>
                       {item.article}
                       <LikePanel like={item.like}/>
                  </div> 
       }
    }
}


class ProductEntry extends React.Component{

    render(){

       return this.props.data.entry.map((item)=>{

           return <div>
                       <ProductPanel data={item}/>
                       <LikePanel like={item.like}/>
                  </div> 
       }
    }
}

So, if there are 20 blog entries on the web page, the page will have 20 connected <LikePanel>, and in the future there will be the possibility of connecting additional components to the reduction. Is it good practice to use connect()with such small components as <LikePanel>?

+4
1
+3

Source: https://habr.com/ru/post/1648950/


All Articles