<!DOCTYPE html>
<html>
<head>
<script data-require="react@*" data-semver="0.14.0" src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0/react.js"></script>
<script data-require="react@*" data-semver="0.14.0" src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0/react-dom.js"></script>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="example"></div>
<script src="script.js"></script>
</body>
</html>
class Dialog extends React.Component {
render() {
return (<h1>Message {this.props.message}</h1>)
}
}
class Card extends React.Component {
render() {
return (<h1 onClick={this.props.setDialogMessage.bind(this, this.props.title )}>{this.props.title}</h1>)
}
}
class Main extends React.Component {
constructor(props) {
super(props);
this.state = {message: "Initial message"};
}
setDialogMessage(message) {
this.setState({dialogMessage:message})
}
render() {
return (<div>
<Dialog message={this.state.dialogMessage} />
{this.props.cards.map((card,i) =>
<Card
key={i}
title={card}
setDialogMessage={message => this.setDialogMessage(message)}
/>
)}
</div>
)
}
}
ReactDOM.render(
<Main cards={["a","b","c"]}></Main>,
document.getElementById('example')
);
/* Styles go here */