React 之 函数式组件(二)

React的函数式组件是React组件的一种形式,它使用JavaScript函数而不是类来定义组件。这种组件形式在React 16.8版本引入Hooks之后变得特别流行,因为它使得组件逻辑更加简洁、易于理解和测试。

javascript 复制代码
import React from 'react';  
  
function Welcome(props) {  
//也可以这样写:解构props
//function Welcome({ name,onClick }) {  
  return <h1 onClick={props.onClick}>Hello, {props.name}</h1>;  
}  
  
export default Welcome;

Welcome 是一个函数式组件。它接受一个名为 props 的参数,这个参数是一个对象,包含了传递给组件的所有属性。然后,组件返回一个JSX元素,这个元素会被React渲染到DOM中

React.Component 子类中使用函数式组件Welcome:

javascript 复制代码
class Board extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      name: 'World',
    };
  }
  handleClick() {
    this.setState({
      name: 'OK',
    });
  }	
  renderSquare(name) {
    return (
      <Welcome
        name={name}
        onClick={() => this.handleClick()}
      />
    );
  }

  render() {
    
    return (
        <div className="board-row">
          <!--当然可以直接写函数组件<Welcome name={this.state.name} onClick={() => this.handleClick()}/>-->
          {this.renderSquare(this.state.name)}
        </div>
    );
  }
}
相关推荐
im_AMBER14 分钟前
React 18
前端·javascript·笔记·学习·react.js·前端框架
老前端的功夫17 分钟前
Vue2中key的深度解析:Diff算法的性能优化之道
前端·javascript·vue.js·算法·性能优化
han_41 分钟前
前端高频面试题之Vue(高级篇)
前端·vue.js·面试
不说别的就是很菜1 小时前
【前端面试】CSS篇
前端·css·面试
by__csdn2 小时前
nvm安装部分node版本后没有npm的问题(14及以下版本)
前端·npm·node.js
Dm_dotnet2 小时前
React:使用Tailwind CSS、Streamdown与Ant Design X
react.js
by__csdn2 小时前
Node与Npm国内最新镜像配置(淘宝镜像/清华大学镜像)
前端·npm·node.js
脸大是真的好~2 小时前
黑马JAVAWeb -Vue工程化-API风格 - 组合式API
前端·javascript·vue.js
我命由我123452 小时前
CesiumJS 案例 P35:添加图片图层(添加图片数据)
开发语言·前端·javascript·css·html·html5·js
你挚爱的强哥2 小时前
【sgMobileUploadTypeSelect】自定义组件:从底部弹出选择上传图片文件的方式【1、上传本地文件,2、拍摄上传】
前端·javascript·vue.js