Question: I am new to react and could not grasp the concept between bsClass and className.

I try to implement a modified button style, like: 

`<Button bsClass="btn-custom" >Custom button</Button>` 

where it does not work when I substitute `bsClass` with `className`.

But in other part, using the same custom.css source, I implement:

`<img src={logo} alt="logo" className="app-logo" />` and it works.

Answer: 
JSX attribute `className` is equivalent of HTML `class`. So the below JSX

```
<span className="app-logo">Logo</span>

```

will be equivalent to the below in HTML 

```
<span class="app-logo">Logo</span>

```

As per bsClass is considered in 

```
<Button bsClass="btn-custom" >Custom button</Button>

```

it is `prop` that is being passed on to the `Button` component in reactJS and that is what it will be using to set the `className` inside the component something like

```
<button className={this.props.bsClass}>{this.props.children}</button>

```

So it an attribute that is defined as a property by the `react-bootstrap` docs.
A practical difference. I you set bsClass to something other than what REACT-Bootstrap has as a default, you have to do your own css themeing of the button.

By adding a className="xx" you still get the default theme, but you can now add css styles for color, padding, etc, using your own .css

```
.xx {
      magin-bottom: 2px
}

```