godon019
2/28/2019 - 2:58 AM

Typescript tsx

cheat sheet

Functional Component

const MobxWrapper: React.FunctionComponent<{ children: any }> = ({ children }) => {
  return (<div>
    <Provider {...stores}>
      <div>
        <DevTools />
        {children}
      </div>
    </Provider>
  </div>)
}

Stateful Component

import React from 'react'

interface IProps {
  text: string;
  age?: number;
}

interface IState {
  email: string;
  name: string;
}

export default class Form extends React.Component<IProps, IState>{

  state = {
    email: "",
    name: ""
  }

  handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
    const { name, value } = e.target
    this.setState({
      name: value
    });
  }

  render() {
    const { text } = this.props
    const { name } = this.state
    return (
      <div>
        <div>{text}</div>
        <input name="name" value={name} onChange={this.handleChange} />
      </div>
    )
  }
}