2

I am trying to render multiple buttons in react using map but i am getting an errors.

var NameArray = [{"name":"number0"},{"name":"number1"},{"name":"number2"}];

class RenderButtons extends React.Component {
  constructor() {
    super();
    this.onClick = this.handleClick.bind(this);
  }

  handleClick(event) {
    const {id} = event.target;
    console.log(id);
  }
  
  render() {
    return (
      <div>
         {NameArray.map((obj, index) =>
        <h3 id={index} onClick={this.onClick}>
          {obj.name}
        </h3>
      )}
        
      </div>
    );
  }
}

ReactDOM.render(
<RenderButtons />, 
document.querySelector('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>
I am using index as Id for my buttons and NameArray properties as name of the buttons.

I tried spliting render of buttons to new function but i am not sure how to do this.

1 Answer 1

3

Apparently you miss # sign in your querySelector function.

document.querySelector('#app');
Sign up to request clarification or add additional context in comments.

1 Comment

I am doing this for too long <.<.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.