reagieren, ändern Sie die Klasse, die Liste auf klicken Sie auf

Ich habe einen reagieren element wie diesem:

import React, { PropTypes, Component } from 'react'

class AlbumList extends Component {

  constructor(props) {
        super(props);
        this.state = {'active': false, 'class': 'album'};
    }

  handleClick() {
    if(this.state.active){
      this.setState({'active': false,'class': 'album'})
    }else{
      this.setState({'active': true,'class': 'active'})
    }
  }

  render() {
    var album_list
    const {user} = this.props
    if(user.data){

        list = user.data.filter(album => album.photos).map((album => {
                        return  <div className={"col-sm-3"} key={album.id}>
                        <div className={this.state.class} key={album.id} onClick={this.handleClick.bind(this)}>
                          <div className={"panel-heading"}>{ album.name }</div>
                          <div className={"panel-body"}>
                            <img className={"img-responsive"} src={album.photo.source} />
                          </div>
                                </div>
                        </div>
                         }))
                 }

    return (
      <div className={"container"}>
        <div className="row">
          {list}
        </div>
      </div>
    )
  }
}

export default AlbumList

Hier map gibt die Liste der filter Daten, wie ich wollte. Hier das, was ich Tue, ändert die Klasse aller element in der Liste wenn ich auf eine.

Ich bin immer der name der Klasse aus this.state.class

Wie kann ich die Klasse der einzige element, das ich geklickt habe..

Vielen Dank im Voraus ...

InformationsquelleAutor aryan | 2016-02-16
Schreibe einen Kommentar