Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //PARENT
- import React from 'react';
- import ReactDOM from 'react-dom';
- import { Child } from './Child';
- import { Sibling } from './Sibling';
- class Parent extends React.Component {
- constructor(props) {
- super(props);
- this.state = { name: 'Frarthur' };
- this.changeName = this.changeName.bind(this);
- }
- changeName(newName) {
- this.setState({
- name: newName
- });
- }
- render() {
- return (
- <div>
- <Child onChange={this.changeName} />
- <Sibling name={this.state.name} />
- </div>
- );
- }
- });
- ReactDOM.render(
- <Parent />,
- document.getElementById('app')
- );
- //CHILD
- import React from 'react';
- export class Child extends React.Component {
- constructor(props) {
- super(props);
- this.handleChange = this.handleChange.bind(this);
- }
- handleChange(e) {
- const name = e.target.value;
- this.props.onChange(name);
- }
- render() {
- return (
- <div>
- <select
- id="great-names"
- onChange={this.handleChange}>
- <option value="Frarthur">Frarthur</option>
- <option value="Gromulus">Gromulus</option>
- <option value="Thinkpiece">Thinkpiece</option>
- </select>
- </div>
- );
- }
- }
- //SIBLING
- import React from 'react';
- export class Sibling extends React.Component {
- render() {
- const name = this.props.name;
- return (
- <div>
- <h1>Hey, my name is {name}!</h1>
- <h2>Don't you think {name} is the prettiest name ever?</h2>
- <h2>Sure am glad that my parents picked {name}!</h2>
- </div>
- );
- }
- }
Add Comment
Please, Sign In to add comment