React: How to prevent buttons to render automatically

Link to the challenge

So right now I am correctly implementing the ternary expression but the buttons are already rendered and they should only appear when submit button is clicked right?


const inputStyle = {
  width: 235,
  margin: 5
}

class CheckUserAge extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      input: "",
      userAge: ""
    }
    this.submit = this.submit.bind(this);
    this.handleChange = this.handleChange.bind(this);
  }
  handleChange(e) {
    this.setState({
      input: e.target.value,
      userAge: ''
    });
  }
  submit() {
    this.setState({
      userAge: this.state.input
    });
  }
  render() {
    const buttonOne = <button onClick={this.submit}>Submit</button>;
    const buttonTwo = <button>You May Enter</button>;
    const buttonThree = <button>You Shall Not Pass</button>;
    return (
      <div>
        <h3>Enter Your Age to Continue</h3>
        <input
          style={inputStyle}
          type="number"
          value={this.state.input}
          onChange={this.handleChange} /><br />
          {buttonOne}
        {
          this.state.input > 18 ? buttonTwo : buttonThree
        }
      </div>
    );
  }
};

Do i have to play with “onClick” stuff and so on?

See one of the following challenges which should help you to do what you want: