React SVG Icon (study)

Reactを使ったSVGアイコンの試作

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://fb.me/react-with-addons-0.14.0.js"></script>
<script src="https://fb.me/react-dom-0.14.0.js"></script>
<link rel="stylesheet" href="https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/css/bootstrap.css">
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>

<div id="container">
    <!-- This element's contents will be replaced with your component. -->
</div>

JavaScript 1.7

var Icon = React.createClass({
 render: function() {
 var {d, color} = this.props;
  return (
    <svg xmlns="http://www.w3.org/2000/svg" style={{width: '24px', height: '24px', verticalAlign: 'bottom'}} viewBox="0 0 512 512">
      <path fill={color || "#ccc"} d={d} />
    </svg>
  );
  }
  });
    
   
var Heart = React.createClass({
 render: function() {
  return (
    <Icon color="blue" d="M76 46c-33.24 0-60 26.76-60 60v300c0 33.24 26.76 60 60 60h360c33.24 0 60-26.76 60-60V106c0-33.24-26.76-60-60-60zm120 60h120v90h90v120h-90v90H196v-90h-90V196h90z" />
  );
}
  });



ReactDOM.render(<Heart />, document.getElementById('container'));