<main>
</main>
class HelloWorld extends React.Component {
  static propTypes = {
    name: React.PropTypes.string
  };

  static defaultProps = {
    name: "Guest"
  };

  constructor(props) {
    super(props);
    this.state = { hide: true };
  }

  toggle() {
    this.setState({ hide: !this.state.hide });
  }

  render() {
    return <p>
      Hello: {this.state.hide ? "XXX" : this.props.name} 
      <button onClick={(e) => this.toggle(e)}>
        Click To Toggle</button>
    </p>
  }
}

class App extends React.Component {
  render() {
    return (<div>
        <HelloWorld name="ynon" />
        <HelloWorld />
        <HelloWorld />
      </div>);
  }
}

ReactDOM.render(<App />, document.querySelector('main'));

View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://fb.me/react-15.1.0.min.js
  2. https://fb.me/react-dom-15.1.0.min.js