react组件的更新机制只对数组进行的一个浅对比,也就是说没有改变它的引用地址,所以我们要改变数组时应该进行一次拷贝。 当数组和对象只有一级时,展开运算符和一些库函数复制方法都是深拷贝 12const arrCopy = arr.slice();const objCopy = Object.assign({},obj) 数组中使用: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556import React, { useEffect, useState } from 'react';const App = () => { const [arr, setArr] = useState([1, 2, 3]); const [value, setValue] = useState(); const change = () => { / ...
??双问号语法,在JavaScript中的意思是,如果??左边的值为null或undefined,则取??右边的值。 12let object;let key = object ?? true;console.log(key); // true
可选链语法object?.attr获取object属性attr前先判断object是否存在,在object后面加上?,这是JavaScript的可选链语法。 1234let object = { attr: value}let value = object?.attr 可选链语句在编译时会被解析为: 1object === null || object === void 0 ? void 0 : object.attr 这句代码的意思是,如果object恒等于null或者undefined时,取值为undefined,否则为object.attr。
先订阅,再发布(理解:隔空对话的感觉)安装第三方库pubsub-js yarn add pubsub-js,利用钩子函数componentDidMount在组件挂载后subscribe()函数进行订阅消息,该行为会返回一个token值,供unsubscribe()取消订阅时使用,根据token取消对应的消息. 安装 npm install pubsub-js yarn add pubsub-js 引入 import pubsub from ‘pubsub-js’; 1234567//订阅 componentDidMount(){ this.token = PubSub.subscribe('usersData',(_,data) => { console.log('订阅消息:',data) this.setState({...data}) }) } publish() 进行发布消息 123 ...
父组件给子组件传值   1. class类组件,父组件在子组件上写入属性,子组件通过this.props.属性名获取值  1. 函数式组件,父组件在子组件上写入属性,子组件需要把props作为组件参数才能使用props 子组件给父组件传值 通过传递回调函数的方式,父组件给子组件传一个回调函数(可带参数),子组件通过this.props.回调函数名,通过调用回调函数,传入参数来传值 一.父组件向子组件传值在父组件中引入子组件,将父组件的state值放到子组件标签中传递,在子组件中用this.props.传值名称,接收 父组件代码:1234567891011121314151617181920import React, { Component } from 'react'import Goods from '../Good/Goods' export default class App extends Component { constructor(){ super() this.state ...
定义:UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,生成全球唯一的一串字符编码。 生成方式:UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。UUID可以被任何人独立创建,并按需发布。 现实使用:由于uuid体积较大,在开发过程中一般使用更加轻量级的nanoid来代替uuid的使用 使用步骤步骤一:安装nanoid包 1npm i nanoid 步骤二:使用 由于引入的nanoid是一个函数,即使用时也用函数的形式 123import {nanoid} from 'nanoid' // 引入nanoid() // 函数调用
正反序区别与调用处理方法中的大小写 正序:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101var dataContent = [ { ID: "1", hobbit: "去音乐", sport: "在篮球", movies: "功夫", sender: "elson", received: "2017-08-18 13:23:21", ...
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="年龄" prop="age"> <el-input v-model.number=&qu ...
1234567891011121314//生成从minNum到maxNum的随机数function randomNum(minNum,maxNum){ switch(arguments.length){ case 1: return parseInt(Math.random()*minNum+1,10); break; case 2: return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); break; default: return 0; break; } }
当我们在使用git进行团队协作开发的时候,会有多个开发分支。例如:master、dev、feature等等分支。例如:当我们在feature分支进行开发的时候。然后想切换到master分支看一下这部分业务逻辑怎么处理的,运行看看效果,但是我们已经在feature分支做了修改,因为业务没有写完不能直接commit。。。所以git stash 就派上用场了 例如我们在feature分支做了修改。在切换分支的先进行“暂存”。 1234567891011121314151617git branch // 查看当前分支git stash // 将本地改动暂存到“栈”里面git checkout master // 切换到master分支git pull // 拉取master分支最新的代码-------------------------------------------------# 当我们再想切换回当前的feature分支git checkout feature // 切换回到feature分支git stash show //显示当前放在栈里的文件git stash pop // 再将 ...
公告
博客微信小程序版已上线,同步更新,请扫码浏览。🎉
最新文章
最新评论
正在加载中...
网站资讯
文章数目 :
264
已运行时间 :
本站总字数 :
284.4k
本站访客数 :
本站总访问量 :
最后更新时间 :