Sha256: a87eb46cb740be7ba5cd446439b2745e27924a3245a5209598c43a4e9c8a5b0c
Contents?: true
Size: 1001 Bytes
Versions: 25
Compression:
Stored size: 1001 Bytes
Contents
import PropTypes from 'prop-types'; import React from 'react'; export default class HelloWorld extends React.Component { static propTypes = { name: PropTypes.string.isRequired, // this is passed from the Rails view }; /** * @param props - Comes from your rails view. */ constructor(props) { super(props); // How to set initial state in ES6 class syntax // https://facebook.github.io/react/docs/reusable-components.html#es6-classes this.state = { name: this.props.name }; } updateName = (name) => { this.setState({ name }); }; render() { return ( <div> <h3> Hello, {this.state.name}! </h3> <hr /> <form > <label htmlFor="name"> Say hello to: </label> <input id="name" type="text" value={this.state.name} onChange={(e) => this.updateName(e.target.value)} /> </form> </div> ); } }
Version data entries
25 entries across 25 versions & 1 rubygems