美文网首页
Vue&React在带状态属性上的处理

Vue&React在带状态属性上的处理

作者: 睦月MTK | 来源:发表于2020-05-12 11:31 被阅读0次

声明:带状态属性在Vue中指data,在React中指state


1.创建

Vue:

  • Vue中创建一个带状态的属性,只需要在组件内部使用this.data=object就可以了,值得注意的是,如果不是根组件,最好在赋值给this.data时使用一个函数,那样可以防止多个组件共用一个data
this.data = function() {
    return {
        attr1 : attr1,
        //...
    }
}

React:

  • React中创建一个带状态的属性,只要在构造函数中使用this.state=object就可以了,值得注意的是,直接对this.state的赋值只能被允许在构造函数中进行,其他地方应当使用this.setState方法

2.更新

Vue:

  • Vue对data的更新只要简单的更新对应的属性就可以了,比如data中有一个属性为title,要更新它,只需要使用this.title=value就行了
  • Vue对于属性的更新还提供了一个响应式编程式的功能——计算属性,关于它的内容请查阅计算属性

React:

  • React中更新state必须要使用this.setState方法,该方法接受多种形式的参数,最简单的是直接返回要更新的state对象,比如this.setState({date : new Date()}),但是并不建议这么使用,建议使用一个箭头函数进行包裹,比如this.setState(() =>{return {date : new Date()};});
  • 应当注意state的更新不是立即的,如果你的state依赖于props那么应当选择下列写法,详细内容请参阅State 的更新可能是异步的
this.setState((state, props) => ({
  counter: state.counter + props.increment
}));
  • state的更新是会采取合并而不是覆盖的方式,所以你更新时只需要把变动的部分更新过去就可以了

参考文档:

相关文章

  • Vue&React在带状态属性上的处理

    声明:带状态属性在Vue中指data,在React中指state 1.创建 Vue: Vue中创建一个带状态的属性...

  • Vue&React在Props上的处理

    声明: 1.在Props的传入方式上 Vue: Vue的Props分为两种第一种是在组件内部用props定义过的属...

  • Vue&React事件处理

    声明: 事件处理的方式 当子组件不足以处理某个事件时,事件处理有如下两种方式: 将事件抛给父组件,让其处理这是Vu...

  • 状态基变量刷新原理

    props 属性,用于处理属性state 状态,用来处理值 当state中的值发生改变时,就会触发刷新动作,重新...

  • Kotlin之枚举和''when'

    声明枚举类 声明简单的枚举 声明带属性的枚举,在每个常量创建的时候指定属性值 使用"when"处理枚举类 when...

  • webpack4 一些常用配置

    1、配置resolve extensions属性文件后缀处理 在导入语句没带文件后缀时,Webpack 会自动带...

  • AJAX简介

    AJAX属性 onreadystatechange每次状态改变所触发事件的事件处理程序。 responseText...

  • JavaScript 中的require 和 import 区别

    在修改vue&react和webpack的时候,经常看到在js文件中出现require,还有import,这两个都...

  • Spring 源码总结

    refresh() 1. prepareRefresh() 刷新预处理 设置容器状态为 active 初始化属性配...

  • ECMAScript6基础学习教程(五)对象

    ES6在处理对象上,又添加了新方法。 1. 属性简洁写法 当属性名和属性值变量同名时,ES6允许在对象中只写属性名...

网友评论

      本文标题:Vue&React在带状态属性上的处理

      本文链接:https://www.haomeiwen.com/subject/baavnhtx.html