React Hello World Example with ES6+JSX
A basic Hello World widget with in browser JSX transformed + ES6 support
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.1/JSXTransformer.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.1/react-with-addons.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
CSS
.widget {
width: 202px;
margin:100px auto;
// border:1px solid black;
padding:20px;
}
.name {
color: red;
}
.default-label {
border: 1px solid black;
padding: 10px;
margin-bottom: 10px;
width:180px;
}
.green-label {
border: 1px solid green;
padding: 10px;
margin-bottom: 10px;
width: 180px;
}
.default-input {
border: 1px solid #eaeaea;
padding: 10px;
width:180px;
}
.important-input {
border: 2px solid red;
width:180px;
}
img.center {
width: 100px;
height: 100px;
display: block;
margin: 15px auto;
}
JavaScript 1.7
class Previewer extends React.Component {
constructor(props) {
super(props);
this.state = { value: '' };
this.updateValue = this.updateValue.bind(this);
}
updateValue(val) {
this.setState ({ value: val });
}
markup(text) {
var markup = marked(text, { sanitize: true });
return { __html: markup}
}
render() {
return (
<div className='row'>
<div className='col-md-6'>
<Markdown value={this.state.value} updateValue={this.updateValue} />
</div>
<div className='col-md-6'>
<span> In Parent Com : {this.state.value}</span>
</div>
</div>
);
}
}
class Markdown extends React.Component {
constructor(props) {
super(props);
this.onChange = this.onChange.bind(this);
}
onChange(e) {
var val = e.target.value;
this.props.updateValue(val);
}
render() {
return (
<div className={this.props.className}>
<textarea rows='22' type='text' value={this.props.value} ref='textarea' className='form-control' onChange={this.onChange} />
</div>
);
}
}
React.render(<Previewer />, document.getElementById('container'));