2015-08-26 4 views
2

Я пытаюсь переключить className на «active» при нажатии кнопки «Follow». Я пробовал следовать инструкциям и руководствам на сайте реагирования и другим ссылкам, но не повезло. Ниже приведен мой код:Переключить классы в ReactJS

import React from 'react'; 
import styles from './Cover.css'; 
import withStyles from '../../decorators/withStyles'; 
import Link from '../../utils/Link'; 
import Avatar from './Avatar'; 

import { Button } from 'react-bootstrap'; 

@withStyles(styles) 
class Cover extends React.Component { 


    render() { 
    return (
     <div className="Cover"> 
     <div className="Cover-container"> 
      <div> 
      <Avatar 
       username="hilarl" 
       profession="Web Developer" 
       location="New York, New York" 
       status="I am here to protect my business, a bunch of kids are out to ruin me" /> 
       <div className="Cover-submenu-container"> 
       <div className="Cover-submenu-section"> 
        . 
       </div> 
       <div className="Cover-submenu-section links"> 
        <a href="#" className="Cover-submenu-link"> 
        <i className="fa fa-twitter"></i> 
        </a> 
        <a href="#" className="Cover-submenu-link"> 
        <i className="fa fa-facebook"></i> 
        </a> 
       </div> 

       // follow button 

       <div className="Cover-submenu-section connect-menu"> 
        <Button className="follow-btn" href="#">Follow</Button> 
       </div> 
       </div> 
      </div> 
     </div> 
     </div> 
    ); 
    } 
} 

export default Cover; 

Было бы здорово, если бы кто-то мог помочь в этом. Спасибо

+1

render() { let followClass = this.state.isFlowing? 'Активный': ''; –

+0

Как и Андреас Мёллер, сделайте его зависимым от состояния или опоры, –

ответ

2

Вы оказываете кнопку с активным классом.

render() { 
    let isFollowing = this.state.isFollowing 
    ... 
     <Button className={`follow-btn ${isFollowing? ' active':''}`} ... 

все, что вам нужно сделать, это обновить isFollowing при нажатии кнопки.

+0

, вероятно, правильный подход, так что +1. Но мне лично нравится обрабатывать эти случаи с помощью встроенных стилей. Вам не понадобится эта цепочка дерьма. –

+0

вот так:

+0

Либо сделайте все, что вы встраиваете в строковое или все в таблицах стилей, вызывает проблемы –

Смежные вопросы