react

1.父子通信

React中是单向数据流,数据只能从父组件通过属性的方式传给其子组件

父传子:props

子传父:子组件通过调用父组件传递到子组件的方法向父组件传递消息的。

2.封装公共组件

首先react公共组件的实现与原生js实现函数基本一致,接受形参,处理数据,返回or不返回一个结果。在不同场景调用组件时,可以通过props属性,传递状态与方法,如果是展示型组件,传入不同样式对象(形参),就可以在不同场景使用多样化展示ui。

3.父组件调用子组件方法

refs

javascript 复制代码
// ChildComponent.js
class ChildComponent extends React.Component {
  doSomething = () => {
    console.log('Child method called');
  };

  render() {
    return <button onClick={this.doSomething}>Call Child Method</button>;
  }
}

// ParentComponent.js
class ParentComponent extends React.Component {
  callChildMethod = ref => {
    if (ref) {
      ref.current.doSomething();
    }
  };

  render() {
    return (
      <div>
        <ChildComponent ref={this.callChildMethod} />
      </div>
    );
  }
}

4.生命周期

componentDidMount: 该方法在组件挂载后立即调用(即插入到DOM树中)。通常用于执行初始设置,例如从API获取数据或设置事件监听器。

componentDidUpdate: 该方法在更新发生后立即调用。每当组件的props或state发生变化时都会触发它。通常用于基于更新后的状态或props执行操作,例如进行额外的API调用。

componentWillUnmount: 该方法在组件即将卸载和销毁之前立即调用。通常用于执行清理操作,例如移除事件监听器或取消任何正在进行的任务

相关推荐
垣宇1 分钟前
Vite 和 Webpack 的区别和选择
前端·webpack·node.js
java1234_小锋4 分钟前
一周学会Flask3 Python Web开发-客户端状态信息Cookie以及加密
前端·python·flask·flask3
化作繁星8 分钟前
如何在 React 中测试高阶组件?
前端·javascript·react.js
初遇你时动了情11 分钟前
react module.scss 避免全局冲突类似vue中scoped
vue.js·react.js·scss
Au_ust15 分钟前
千峰React:函数组件使用(2)
前端·javascript·react.js
爱吃南瓜的北瓜25 分钟前
npm install 卡在“sill idealTree buildDeps“
前端·npm·node.js
TTc_29 分钟前
记录首次安装远古时代所需的运行环境成功npm install --save-dev node-sass
前端·npm·sass
翻滚吧键盘33 分钟前
npm使用了代理,但是代理软件已经关闭导致创建失败
前端·npm·node.js
烂蜻蜓40 分钟前
Uniapp 设计思路全分享
前端·css·vue.js·uni-app·html
GAMESLI-GIS1 小时前
【WebGL】fbo双pass案例
前端·javascript·webgl