11 2020 档案

摘要:待续 阅读全文
posted @ 2020-11-29 13:36 老胡Andy 阅读(154) 评论(0) 推荐(0) 编辑
摘要:换了台笔记本,重新安装环境,遇到些奇怪的问题 1: create-react-app my-app --typescript 无法创建一个TS的React项目 必须用create-react-app my-app --template typescript 命令 可能是版本关系吧 2:创建出的项目, 阅读全文
posted @ 2020-11-26 19:43 老胡Andy 阅读(2742) 评论(0) 推荐(0) 编辑
摘要:关于require和import,先明确一些基础概念 1:require属于commonjs(ES5)规范,import属于ES6规范。 2:require/export 一般用于服务端(NodeJS)开发。 import由于是ES6规范,需要使用babel-loader转换为require 3:浏 阅读全文
posted @ 2020-11-20 20:58 老胡Andy 阅读(613) 评论(0) 推荐(0) 编辑
摘要:我们知道React中的Class组件,其事件处理函数要么bind(this),要么用箭头函数( ()=> ),否则this指针会是undefined 原因如下: class Logger { printName(name = 'there') { this.print(`Hello ${name}` 阅读全文
posted @ 2020-11-19 20:52 老胡Andy 阅读(223) 评论(0) 推荐(0) 编辑
摘要:1:Object.assign() 把source对象中所有可枚举的属性copy到target对象中。 可以用来合并两个对象的属性。 const target = { a: 1, b: 2 }; const source = { b: 4, c: 5 }; const returnedTarget 阅读全文
posted @ 2020-11-18 21:29 老胡Andy 阅读(1077) 评论(0) 推荐(0) 编辑
摘要:问题1 :ES6中的class 与 ES5中function的关系 ES6 中: class Person { constructor(name) { this.name = name; } sayHello() { return 'hello, I am ' + this.name; } } va 阅读全文
posted @ 2020-11-18 19:07 老胡Andy 阅读(85) 评论(0) 推荐(0) 编辑
摘要:要解决的问题: 1:JWT存在local storage和cookie里面有什么不同,如何选择? 2:使用ExpressJS作为前端React应用的Web Server。 登录、登出等请求都会由ExpressJS代码处理。 先来看第一个问题,local storage 和 cookie的方案各自优缺 阅读全文
posted @ 2020-11-17 22:34 老胡Andy 阅读(424) 评论(0) 推荐(1) 编辑
摘要:在后台接口还没准备好的时候,我们可能会需要模拟数据来支持前端开发。 继续使用之前的代码示例:https://github.com/992990831/modernization/tree/main/full-demo npm install axios --save npm install mock 阅读全文
posted @ 2020-11-16 16:37 老胡Andy 阅读(461) 评论(0) 推荐(0) 编辑
摘要:之前讲述了React-router的使用方法,这一篇讲述其实现原理 1:react-router的Link组件会被翻译为a标签, 其query、to、hash等属性都会被翻译为href属性 2:通过history.listen监听路由变化 以下源码可以在react-router.js中找到 3:ma 阅读全文
posted @ 2020-11-15 09:05 老胡Andy 阅读(875) 评论(0) 推荐(0) 编辑
摘要:由于篇幅原因,再开一个性能优化的帖子,讲一下怎么做lazy loading和code split 先介绍一个VS Code插件,可以查看import package的大小。 插件名:Import Cost import React, { Suspense, lazy } from 'react'; 阅读全文
posted @ 2020-11-13 11:20 老胡Andy 阅读(298) 评论(0) 推荐(0) 编辑
摘要:测试框架:Jest + Enzyme 一句话来说,Jest的作用是跑test case, Enzyme的作用是在内存中渲染React组件,并对生成的DOM做比较。 1: 安装Enzyme: npm install --save-dev enzyme npm install --save-dev en 阅读全文
posted @ 2020-11-08 21:52 老胡Andy 阅读(193) 评论(0) 推荐(0) 编辑
摘要:步骤一:使用React + Styled Component + Type Script实现响应式布局,效果如下 PC模式 Mobile模式 以上效果没有使用三方控件,都是原生css实现。代码示例:https://github.com/992990831/modernization/tree/mai 阅读全文
posted @ 2020-11-08 16:11 老胡Andy 阅读(89) 评论(0) 推荐(0) 编辑
摘要:useMemo, useCallBack 这两个概念并非看上去那么容易理解,使用的不好的话,也很难带来任何的性能提升。 先说useMemo, 简单来说就是把返回值缓存起来,并监控一个变量。 如果被监控的变量不变,则返回值不变。以下是两个适用useMemo的场景 import React, { FC, 阅读全文
posted @ 2020-11-07 00:07 老胡Andy 阅读(571) 评论(0) 推荐(0) 编辑
摘要:官网地址:https://styled-components.com/docs/basics 使用Styled Component的几大理由 1)Scoped Style(范围限定的样式) 不用担心引用的css文件被其他人修改 2)CSS in JS 可以在JS中使用component内部变量做条件 阅读全文
posted @ 2020-11-06 23:56 老胡Andy 阅读(894) 评论(0) 推荐(1) 编辑
摘要:示例1:useMounted export const useMounted = () => { const isMounted = useRef<boolean>(false); useEffect(() => { isMounted.current = true; return () => { 阅读全文
posted @ 2020-11-06 22:50 老胡Andy 阅读(777) 评论(0) 推荐(1) 编辑
摘要:useState & useEffect useState与useEffect经常一起被使用,用法简单,这里不多做介绍。以下一些概念需要搞清楚: 1)仅在函数组件的头部调用Hook。不要在循环体中、条件判断或嵌套方法中调用Hook。 https://reactjs.org/docs/hooks-ru 阅读全文
posted @ 2020-11-06 22:30 老胡Andy 阅读(213) 评论(0) 推荐(0) 编辑
摘要:官网参考地址: https://reactrouter.com/web/example/basic 基础用法: import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom"; <Router> <div 阅读全文
posted @ 2020-11-06 08:21 老胡Andy 阅读(207) 评论(0) 推荐(0) 编辑
摘要:安装: npm install axios --save 新建TUAPI.js import axios from 'axios'; export const TUAPI = axios.create({ baseURL: process.env.REACT_APP_BASE_URL, respon 阅读全文
posted @ 2020-11-03 21:40 老胡Andy 阅读(235) 评论(0) 推荐(0) 编辑
摘要:ExpressJS常用中间件: npm install cookie-parser --save npm install body-parser --save npm install compression --save npm install errorhandler --save npm ins 阅读全文
posted @ 2020-11-03 21:39 老胡Andy 阅读(338) 评论(0) 推荐(0) 编辑
摘要:react-app-rewired的作用是在不eject的情况下修改webpack配置 目标:修改build的output目录 1: npm install react-app-rewired --save-dev 2: 根目录下新建文件:config-overrides.js 3:添加以下配置 m 阅读全文
posted @ 2020-11-03 21:35 老胡Andy 阅读(5564) 评论(0) 推荐(0) 编辑
摘要:使用--typescript参数新建React项目 create-react-app react-ts-demo --template typescript 新建Header.tsx文件,加入以下代码: import React, { FC } from 'react'; interface MyP 阅读全文
posted @ 2020-11-03 16:59 老胡Andy 阅读(1412) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示