- 博客(109)
- 收藏
- 关注
原创 纯小白macos系统使用vscode编译器调试c/c++代码教程(包括scanf函数如何输入)
忽然发现macos系统使用vs2022敲c/c++代码不可行,好像是没有办法安装c++环境,如有大佬成功,请教教我。所以我最后选择了vscode编译器。
2024-09-18 16:29:16
1002
1
原创 vue3delete请求报403forbidden,前后端解决方式,cookie无效问题
在做开发时,前期已经在Controller类加上,发送get和post请求都没问题,但遇到delete请求时,又报出跨域问题。
2024-06-13 11:18:21
1151
原创 unity中Uri的角色
因在不同的平台下,Application.streamingAssetsPath表现是不一样的。有时我们在使用UnityWebRequest时,常常会看到与Uri搭配使用的方式。Uri在请求本地文件地址时,表现出色。但如果使用Uri,则可以避开此问题。
2024-05-15 15:30:20
299
原创 js稀疏数组和密集数组
最近忽然发现新的名词,特此记录一下,其实稀疏数组和密集数组在平时经常会用到,只是没有发现它的真实名字稀疏数组稀疏数组:数组中大部分内容没有被使用,为空位那么如何创建稀疏数组呢?(1)// 最常见的创建方式let arr = new Array(3)这里创建了一个长度为3的数组,那我们看一下打印结果这里要注意一下,不是undefined,而是3个空位(2)let arr = [];arr[100] = 1 ;我们在看一下打印结果,创建了1个前100都为空位,只有101位赋值成1
2021-07-27 22:23:03
224
原创 React Hooks学习--useRequest网络请求Hooks
当前用于网络请求的Hooks是很多的,但是为什么选择使用useRequest呢?目前的许多Hooks都需要根据不同的场景来选择,比如分页usePagination,加载更多useLoadMoreuseAsync能力不足,不能支持并行请求useRequest不仅包含来Umi Hooks所有和网络请求相关的Hooks,还借鉴了swr的特性swr的主要能力在于:我们在发送网络请求时,会优先返回缓存内的数据,然后在背后发起网络请求,最终用新的请求结果来触发组件渲染。一.useRequest的基本使用
2021-05-20 20:35:49
8025
1
原创 React学习--render props
render props相当于vue中的插槽技术,在某一位置预留一行代码this.props.render(),之后只需要在特定位置传入组件,即可展示注意:此render为属性名当不需要传值时class Parent extends Component{ render(){ <div> <A render={() => <B/>} //A,B为父子组件 </div> }}class A extends Component{
2021-05-20 01:48:09
297
原创 React学习--组件通信方式总结
一.组件间的关系父子组件兄弟组件祖孙组件二.几种通信方式props(1) children props(2)render props消息订阅-发布:pubs-sub集中式管理:reduxcontext三.比较好的搭配父子组件:props父给子传用props,子给父传时,需要父组件最初给子组件传的是一个函数,子组件调用函数时,便将值传给了父组件兄弟组件:集中式管理,消息订阅-发布祖孙组件:集中式管理,消息订阅-发布,context...
2021-05-20 00:10:59
126
原创 Redux学习--异步action和react-redux汇总
一.异步action明确:延迟的动作不想交给组件自身,想交给action何时需要异步action:想要对状态进行操作,但是具体的数据靠异步任务返回具体编码:(1)下载yarn add redux-thunk,并配置在store,因为store只能识别对象类型的action,对于返回的函数action,则需要中间商来帮助store执行一下(2)在redux中引入applyMiddleware中间商,中间商应用刚才下载的thunk(3)创建的异步action,返回一个函数,在该函数中写
2021-05-19 21:47:01
500
4
原创 Redux学习--Redux工作流程与三个核心属性
一.Redux的三个核心属性1.action表示动作对象包含两个属性(1)type: 标识属性,值为字符串,唯一,必要属性(2)data: 数值属性,值类型任意,可选属性例子:{type:'ADD',data:{name:'tom',age:18}}2.store将state,action,reducer联系在一起的对象3.reducer用于初始化状态和加工状态加工时,根据旧的state和action,产生新的state的纯函数二.redux的基本使用例子:要使
2021-05-18 19:48:08
888
原创 React Hooks学习--useReducer,useMemo和useRef
一.useReducerfunction ReducerDemo(){ const [count,dispatch] = useReducer((state,action) => { switch(action){ case 'add': return state + 1 case 'sub' return state - 1 default: return state } },0) return ( <> <h2>
2021-05-17 21:40:33
487
原创 React Hooks学习--hook入门:useState,useEffect,useContext和useSelector
Hooks主打使用function component组件,替代class组件一.useStateuseState主要用做变量和方法的声明,useState(参数)中的参数表示变量的初始值在import导入时,使用useState替代之前由react导入的Component,如下import React ,{useState} from 'react' function Demo(){ const [count , setCount] = useState(0); return( <
2021-05-17 16:16:20
1578
1
原创 Typescript学习--类中属性的封装和泛型
一.属性的封装TS可以在属性前添加属性的修饰符public修饰的属性可以在任意位置访问,为默认值private私有属性,私有属性只能在类的内部进行访问(修改),通过在类中添加get和set方法,使得私有属性可以在外部访问protected受保护的类,只能在当前类及其子类中访问get和set方法class Person{ private _name: string; private _age: number; get name(){ // get方法 return this._na
2021-05-12 13:32:02
389
原创 Typescript学习--类和接口
一.类先举一个简单的例子class Person{ name: string = '小四' age: number = 18 static gender: string = 'male'}const per = new Person()直接定义的属性是类的实例属性,需要通过类的实例对象访问const per = new Person(); per.name使用static开头的属性是静态属性(类属性),可以直接通过类去访问Person.genderreadonly开头的属性表示一个只
2021-05-11 21:50:38
135
原创 Typescript--Typescript中的新增类型
一.anyany表示的是任意类型,一个变量设置类型为any后,相当于该变量管理了TS的类型检测,尽量不要用anylet d: any声明变量如果不指定类型,则TS解析器会自动判断变量的类型为any(隐式的any)let d;d = 10;d = 'hello'd = true二.unknownunknown表示未知的类型let e: unknown;e = 10;e = 'hello'两者的区别在于:d的类型为any,它可以赋值为任意变量。而e的类型为unknown,但是
2021-05-11 20:41:40
676
原创 redux学习
一.redux的理解redux是什么?redux是一个专门用于做状态管理的JS库(不是react插件库)可以用在react、angular、vue等项目中,但基本与react配合使用作用:集中式管理react应用中多个组件共享的状态什么情况下需要使用redux?某个组件的状态,需要让其他组件可以随时拿到(共享)...
2021-05-10 20:10:22
83
原创 React学习--BrowserRouter与HashRouter的区别,withRouter用法
一.编程式路由导航借助this.props.history对象上的API操作路由跳转、前进、后退this.props.history.push()this.props.history.replace()this.props.history.goBack()this.props.history.goForward()this.props.history.go()二.withRouter的使用import {withRouter} from 'react-router-dom'class
2021-05-09 20:19:22
376
原创 React学习--嵌套路由与组件的3种传参方式
一.嵌套路由的使用注册子路由时要写上父路由的path值路由的匹配是按照注册路由的顺序进行的,从App.jsx开始二.向路由组件传递参数数据params参数路由链接(携带参数)注册路由(声明接收)接收参数:从this.props.match.params中获取search参数路由链接(携带参数)注册路由(无需声明,正常注册即可)接收参数注意:获取到的search是urlencode编码字符串(?id=01&title='消息1'),需要借助querys
2021-05-09 19:25:49
262
3
原创 React学习--模糊/严格匹配及重定向
一.多级路径刷新页面样式丢失的问题多级路径下刷新页面样式丢失的主要原因在于:index.html文件中使用的样式文件链接为相对路径,而非绝对路径解决方法:public/index.html中,引入样式时不写./写/(常用)public/index.html中,引入样式时不写./写%PUBLIC_URL%(常用),但只限在react中使用使用HashRouter,因为url中#号后面的hash值是不发送给服务器的(不推荐)二.路由的模糊匹配和严格匹配默认使用的是模糊匹配,简单记:给的比要
2021-05-09 13:35:57
523
原创 React学习--NavLink和Switch
一.路由组件与一般组件的区别写法不同:一般组件:<Demo/>路由组件:<Route path="/xxx" component={Demo} />存放位置不同:一般组件:component文件夹路由组件:pages文件夹接收到到props不同:一般组件:写组件标签时传递了什么,就能收到什么路由组件:接收到三个固定的属性 history、location、match二.NavLink的使用NavLink可以实现路由链接的高亮,可以使用NavLink替代Lin
2021-05-08 19:39:25
299
3
原创 React学习--react路由基础及使用
一.React路由的理解什么是路由?a. 一个路由就是一个映射关系(key : value)b. key为路径,value可能是function或component当点击路由元素时,不是页面发生了变化,而是路径path变化,例如:不是127.1.1.550/home.html而是127.1.1.550/home路由会监听path的变化,找到对应的路由组件,呈现到页面上路由分类a. 后端路由:1)理解:value是function,用来处理客户端提交的请求2)工作过程:当node
2021-05-08 14:24:45
159
原创 Macos安装react脚手架流程及遇到的问题
在安装react脚手架时发现问题百出,用正常的方法总会出现下图所示的错误,总结一下自己最终下载成功的流程供参考使用。一.首先检查一下是否安装了cnpm,通过cnpm -v查看,若没有安装则推荐安装一下,这里使用了淘宝镜像网站,下载更快sudo npm install cnpm -g --registry=https://registry.npm.taobao.org下载结束后,查看是否安装成功cnpm -v二.全局安装脚手架sudo cnpm install -g create-react-a
2021-05-07 13:59:39
1355
1
原创 React学习--生命周期函数(新)
一.对比新旧生命周期函数与旧生命周期函数相比,新的生命周期函数废弃了3个生命周期钩子,新增了2个生命周期钩子废弃的3个钩子函数:componentWillMount, componentWillReceiveProps, componentWillUpdate如果目前想在新版本中使用上述3个钩子函数,需要加UNSAFE_前缀,例如UNSAFE_componentWillMount新增2个钩子函数:getDerivedStateFromProps, getSnapshotBeforeUpdate二.
2021-05-04 19:24:59
406
1
原创 React学习---生命周期函数(旧)
一.生命周期函数名字:生命周期函数 = 生命周期钩子 = 生命周期回调函数 = 生命周期钩子函数componentDidMount 组件完成挂载时React调用componentWillUnmount 组件将要卸载时React调用render<div id="test"></div><script type="text/babel"> state = {opacity:1} death = () => { // 卸载组件 ReactDOM
2021-05-04 14:06:08
201
3
原创 React学习--高阶函数与函数柯里化
一.高阶函数如果一个函数符合下面2个规范中的任意一个,那么该函数就是高阶函数若A函数,接收的参数是一个函数,那么A就可以称之为高阶函数若A函数,调用的返回值依然是一个函数,那么A就可以称之为高阶函数常见的高阶函数有:Promise, setTimeout, arr.map()等等事例为受控组件的例子,因表单提交的事件回调可以统一放在一个函数中,所以采用高阶函数的方式class Login extends React.Component{ state = { username:'',
2021-05-03 14:10:57
186
原创 React学习--react中的事件处理(受控组件与非受控组件)
通过onXxx属性指定事件处理函数(注意大小写)a.React使用的是自定义(合成)事件,而不是使用原生的DOM事件 ----- 为了更好的兼容性b.React中的事件是通过事件委托方式处理的(委托给组件最外层的元素)----- 为了更高效尽量减少ref的使用:如果发生事件的元素正好是要操作的元素,可以省略ref,通过event.target得到发生事件的DOM元素对象class Demo extends React.Component{ showData = (event) =>..
2021-05-03 13:17:17
159
原创 React学习--组件实例的三大核心属性之refs
一.字符串形式的refref相当于节点的标识字符串形式的ref会存在效率不高的问题<div id="test"></div><script type="text/babel">//创建组件class Demo extends React.Component{ showData = () => { const {input1} = this.refs alert(input1.value) } showData2 = () => {
2021-05-02 16:22:24
141
原创 React学习--组件实例的三大核心属性之props
一.展开运算符(即…运算符)展开和连接数组let arr1 = [1,3,5,7,9]let arr2 = [2,4,6,8,10]console.log(...arr1) // 1,3,5,7,9console.log(arr1) // [1,3,5,7,9]let arr3 = [...arr1,...arr2] // 连接数组console.log(arr3) // [1,3,5,7,9,2,4,6,8,10]在函数中使用function sum(...numbers){
2021-05-02 13:10:18
104
原创 React学习--组件实例的三大核心属性之state
一.js的原生事件绑定addEventListener<button id="btn1">按钮1</button><script>const btn1 = document.getElementById('btn1')btn1.addEventListener('click',()=>{ alert('按钮1被点击了')})</script>onclick<button id="btn2">按钮2</but
2021-04-28 21:29:10
177
2
原创 React学习--定义组件的两种方法
一.函数式组件举例如下:<div id="test></div><script type="text/babel">//1.创建函数式组件function MyComponent(){ console.log(this) return <h2>我是用函数定义的组件(适用于【简单组件】的定义)</h2>}//2.渲染组件到页面ReactDOM.render(<MyComponent />,document.getE
2021-04-27 20:36:59
410
原创 React学习--优点及介绍
一.React的特点采用组件化,声明试编码,提高开发效率及组件复用率在React Native中可以使用React语法进行移动端开发使用虚拟DOM+Diffing算法,尽量减少与真实DOM的交互二.原生js的缺点原生js直接操纵DOM,浏览器会进行大量的重绘重排原声js没有组件化编码方案,代码复用率低原生js操作DOM的API繁琐,效率低三.babel的作用将ES6转成ES5将JSX装成JS四.简单案例//准备好一个容器<div id="test"><
2021-04-27 15:54:17
755
1
原创 总结自身开发中vue项目内遇到的问题及解决方法
一.修改el-input的border样式使用.el-input__inner进行样式css修改,如若无效则尝试/deep/.el-input__inner进行深度修改二.实现点击button进行页面跳转为button添加点击事件,@click="$router.push('path跳转路径')"
2021-04-22 19:59:10
228
原创 2021腾讯前端实习一面总结
问了好多服务器相关的知识,这个地方我几乎空白。。。一.从输入url地址到浏览器解析的全部过程DNS解析TCP连接发送HTTP请求服务器处理请求并返回HTTP报文浏览器解析渲染页面连接结果二.为什么发送请求时,会出现页面空白的时间网络延迟三.浏览器缓存(协商缓存、协议缓存)四.303、304五.为什么JS代码要放在底部因为JS是单线程语言,会堵塞六.如果将JS代码放在顶部呢七.eventloop事件循环(宏任务、微任务)宏任务和微任务都是队列宏任务:如setTimeOut
2021-03-15 17:27:52
361
2
原创 2021腾讯前端笔试实习生
通过笔试发现自己的知识漏洞还有很多 难搞一.SSR(服务端渲染)的主要好处是首先什么是SSR呢? 即页面都是在后端将 html 拼接好的,然后返回给前端完整的 html 文件,浏览器拿到这个 html 文件之后就可以直接解析展示了,这也就是所谓的服务器端渲染。与服务端渲染相对应的就是客户端渲染:即后端不提供完整的 html 页面,而是提供一些 api 使得前端可以获取 json 数据,然后前端拿到 json 数据之后再在前端进行 html 页面的拼接,然后展示在浏览器上,这就是所谓的客户端渲染服务端
2021-03-15 17:11:45
894
3
原创 2021阿里实习一面总结
一面问的问题确实基础,基础到难以置信,现在已经裂开开始直接写CSS代码,着实懵逼了一.父子div布局,子div相对于父级垂直且水平居中的写法一共写出两种写法://flex布局.parent { display: flex; align-items: center; justify-content: center}.parent { width: 500px; height: 300px; background-color: skyblue; position: relative
2021-03-11 11:34:39
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人