React class组件和function组件的写法

// import React, { Component } from "react";
// import ReactDOM from "react-dom";

// import React from "./kkreact/";
// import ReactDOM from "./kkreact/ReactDOM";

import React from "./kReact";
import ReactDOM from "./kReact/react-dom";

import "./index.css";

class ClassCpm extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      counter: 0,
    };
  }
  handle = () => {
    this.setState({
      counter: this.state.counter + 1,
    });
    console.log("handle", this.state.counter);
  };
  render() {
    return (
      <div className="border">
        {this.props.name}
        <button onClick={this.handle}>{this.state.counter}</button>
        {[0, 1, 2].map(item => {
          return <FuncCmp key={item} name={"function组件" + item} />;
        })}
      </div>
    );
  }
}

function FuncCmp(props) {
  return <div className="border">{props.name}</div>;
}

let jsx = (
  <div className="box border">
    <p className="border">这是React</p>
    <FuncCmp name="function组件" />
    <ClassCpm name="class组件" />
  </div>
);

ReactDOM.render(jsx, document.getElementById("root"));

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容