【八股系列】React中props和state的区别是什么?

Reactpropsstate的区别是:

  1. props是用来从父组件向子组件 进行传递数据的,在子组件中可以用props来接收到父组件传递过来的参数。
  2. props不可变 的,用户不能在子组件中修改props的值,因为从父组件中传递过来的值被认为是不可变数据。
  3. state表示的组件的内部状态 ,是私有数据
  4. state可变 的,用户可以通过setState等来修改数据 ,且React会根据state的修改重新进行组件的渲染。

示例代码:

js 复制代码
// 父组件
class ParentComponent extends React.Component {
  render() {
    return (
      <ChildComponent name="John" age={25} />
    );
  }
}

// 子组件
class ChildComponent extends React.Component {
  render() {
    return (
      <div>
        <p>Name: {this.props.name}</p>
        <p>Age: {this.props.age}</p>
      </div>
    );
  }
}

// 父组件
class ParentComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      count: 0
    };
  }

  render() {
    return (
      <div>
        <p>Count: {this.state.count}</p>
        <button onClick={() => this.setState({ count: this.state.count + 1 })}>Increment</button>
      </div>
    );
  }
}
相关推荐
会飞的鱼先生8 分钟前
vue2、vue3项目打包生成txt文件-自动记录打包日期:git版本、当前分支、提交人姓名、提交日期、提交描述等信息 和 前端项目的版本号json文件
前端·vue.js·git·json
!win !27 分钟前
uni-app项目从0-1基础架构搭建全流程
前端·uni-app
c_zyer1 小时前
使用 nvm 管理 Node.js 和 npm 版本
前端·npm·node.js
布Coder1 小时前
前端 vue + element-ui 框架从 0 - 1 搭建
前端·javascript·vue.js
i_am_a_div_日积月累_1 小时前
Element Plus 取消el-form-item点击触发组件,改为原生表单控件
前端·vue.js·elementui
集成显卡1 小时前
网页 H5 微应用接入钉钉自动登录
前端·后端·钉钉
paintstar1 小时前
el-scrollbar 获取滚动条高度 并将滚动条保持在低端
前端·学习·vue·css3
天天进步20152 小时前
前端测试策略:单元测试到 E2E 测试
前端·单元测试
多啦爱梦的梦想3 小时前
项目中把webpack 打包改为vite 打包
前端·webpack
小刘不知道叫啥3 小时前
简单说一下 Webpack分包
前端·javascript·webpack·node.js