score:1

Accepted answer

this is because you are trying to bind a click handler to a dynamically generated element. while you can get around this:

click event doesn't work on dynamically generated elements

const app = () => (
  <div>
    <button classname="btn btn-primary" id="viewthis"> view this</button>
  </div>
);

reactdom.render(<app />, document.getelementbyid('app'));

$('#app').on('click', '#viewthis', () => console.log('clicked'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>

you probably just want to use onclick in the component:

const app = () => (
  <div>
    <button classname="btn btn-primary" onclick={() =>console.log('clicked')}> view this</button>
  </div>
);

reactdom.render(<app />, document.getelementbyid('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>


Related Query

More Query from same tag