最近自己造了一个轮子,支持过期时间的localStorage React Hook。...这次使用「tsdx」构建项目,tsdx是一个用于ts开发的零配置命令行工具,构建时自动添加打包工具、测试、storybook、Example等,节省了很多安装包的命令。...localStorage只有getItem, setItem, removeItem(), clear()4个API,本身并不支持过期时间,但我们可以添加这个功能并封装成React Hook函数。...const [item, setItem] = useLocalStorage(key, { initialValue, prefix, age }); age就是设置的过期时间,使用ms库处理后存入到localStorage
---- 原文链接 Persisting React State in localStorage -- 作者 Joshua Comeau 我们将创建一个日历应用,就像谷歌日历。...JSON.parse(stickyValue) : defaultValue; }); React.useEffect(() => { window.localStorage.setItem...实战 这个钩子函数做了一个单一的假设,这在 React 应用程序中是相当安全的:表单输入值保存在 React 的状态(state)中。...const [value, setValue] = React.useState(() => { const stickyValue = window.localStorage.getItem...为此,我们可信赖的伙伴 useEffect 派上用场: React.useEffect(() => { window.localStorage.setItem(name, JSON.stringify
文章目录 项目实战前的准备工作 React项目实战(一) React项目实战(二) 搭建项目的基本页面及外层路由 1-1配置基本页面 1-2配置路由 1-3需要最外层去渲染路由视图 1-4需要配置内层App...路由 1-5 路由的懒加载 项目实战前的准备工作 React基础 React组件 React-Router——Reac路由的学习 React高阶组件及CRA的定制 React中使用Antd组件...React项目实战(一) React项目实战(二) 搭建项目的基本页面及外层路由 1-1配置基本页面 在项目根目录src文件下创建views文件夹 然后在views文件夹里创建所需要页面,...from 'react'; import ReactDOM from 'react-dom'; import App from '...., { Component } from 'react' import { admainRoute} from ".
——韩愈《调张籍》 我们可以使用LocalStorage在页面上存点东西,限制是5MB window.localStorage.setItem("ruben","Hello") 我们再取出来 window.localStorage.getItem...("ruben") 如果我们要移除 window.localStorage.removeItem("ruben") 要移除全部 window.localStorage.clear()
['李文']="美女"; //localStorage.getItem(key):获取指定key本地存储的值 //localStorage.setItem(key,value):将value...存储到key字段 //localStorage.removeItem(key):删除指定key本地存储的值 //localStorage.clear(); //查询 alert(localStorage....李文); //获取指定key本地存储的值 alert(localStorage.getItem("李文")); //将value存储到key字段 localStorage.setItem...("陈业贵",666); localStorage.setItem("李文",999); //修改 localStorage["陈业贵"]=999; localStorage.removeItem...("李文"); console.log(localStorage); <!
localStorage 和 sessionStorage Window.localStorage 当页面会话结束的时候,数据将会被清除。...一个demo localStorage.setItem("x", 1); // 设置值 localStorage.getItem("x"); // 读取值 // 枚举所有的名值对 for(var i...= 0; i < localStorage.length; i++) { var name = localStorage.key(i); // 获取第i对名字 var value = localStorage.getItem...localStorage.clear(); // 全部删除 ps: getItem获取的仅仅是储存的副本 储存事件 如果储存在localStorage 以及 sessionStorage的数据发生更改,...newValue 保存新项目的值 oldValue 改变或者删除之前的值 url 触发编号的url stroageArea 为windows对象上的sessionStroage的值 事件是采用广播机制的
1.全局安装脚手架 npm install -g create-react-app 2、创建项目,安装依赖 create-react-app my-react-app 3、进入项目 cd my-react-app...4、启动项目 npm start 5.首先安装路由组件:react-router-dom npm install react-router-dom --save-dev 6.安装 redux 的第三方模块...: npm install redux --save npm install react-redux --save 7.安装axios npm i axios --s 8.安装 antd npm i antd
LocalStorage 基本使用 设置 window.sessionStorage.setItem('key', 'value'); window.localStorage.setItem('key'..., 'value'); 获取 window.sessionStorage.getItem('key') window.localStorage.getItem('key') 清除 localStorage.removeItem...('key'); window.localStorage.clear() 完整用法 注意点 localStorage是html5技术提供的API,html5中新增加的标签,技术(包括promise,localStorage...等),统称为html5 session是服务器上存的hash,但localStorage实质也是一个hash,只不过是浏览器上的hash localStorage只能存String类型的字符串 ?...其余的和localstorage一样
localStorage与sessionStorage localStorage和sessionStorage是HTML5提供的对于Web存储的解决方案 相同点 都与HTTP无关,是HTML5提供的标准...Key-Value形式,常用的Api也相同 存储类型都是String类型,当进行存储时,会调用toString()方法转为String类型 对于每个域容量是有限的,不同浏览器不一样,大部分存储为5M左右 不同点 localStorage...常用操作 储存数据 localStorage.setItem('key', 'value'); sessionStorage.setItem('key', 'value'); /** * 由于存储数据会调用...('key'); sessionStorage.getItem('key'); 删除数据 localStorage.removeItem('key'); sessionStorage.removeItem...('key'); 清空数据 localStorage.clear(); sessionStorage.clear();
#2 使用 localStorage有效期是永久的。...sessionStorage api与localStorage相同。 sessionStorage默认的有效期是浏览器的会话时间(也就是说标签页关闭后就消失了)。...localStorage作用域是协议、主机名、端口。(理论上,不人为的删除,一直存在设备中) sessionStorage作用域是窗口、协议、主机名、端口。...(localStorage.getItem('min')); var data2 = localStorage.getItem('hang'); #2.3 删除 //删除某个 localStorage.removeItem...,每次向后端发请求,带上localStorage的数据 ?
的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。...二、localStorage的优势与局限: 优势: 1、localStorage拓展了cookie的4K限制 2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库...localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3、localStorage在浏览器的隐私模式下面是不可读取的 4、localStorage...本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡 5、localStorage不能被爬虫抓取到 三、localStorage的使用: localStorage是html5的新特性...的删除: 1、清空localStorage:调用localStorage的clear方法将清空localStorage中的所有内容 <!
于是H5新增了本地存储localStorage,在不同浏览器可以存储5M左右。...sessionStorage和localStorage的区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空...存: localStorage.setItem('key','value'); 取: localStorage.getItem('key') 重新赋值: localStorage.setItem('key...','update value'); 清除: localStorage.removeItem('key'); 清除全部: localStorage.clear(); 遍历所有: for(var i=0;...i< localStorage.length;i++){ alert(localStorage.key(i)); alert(localStorage [localStorage.key(i
("temp", arr); //存入 参数: 1.调用的值 2.所要存入的数据 console.log(localStorage.getItem("temp"));//输出...("temp2", obj); } function qingkong(){ localStorage.clear() }...function shanchu(){ localStorage.removeItem("temp"); } function huoqu1()...{ alert(localStorage.getItem("temp")); } function huoqu2(){ var...oo = JSON.parse(localStorage.getItem("temp2")); alert(oo.a); } 运行一下
localStorage 是浏览器自带的一个属性,只读的localStorage 属性允许你访问一个Document 源(origin)的对象 Storage;存储的数据将保存在浏览器会话中。...localStorage 类似 sessionStorage,但其区别在于:存储在 localStorage 的数据可以长期保留;而当页面会话结束——也就是说,当页面被关闭时,存储在 sessionStorage...应注意,无论数据存储在 localStorage 还是 sessionStorage ,它们都特定于页面的协议。 另外,localStorage 中的键值对总是以字符串的形式存储。...localStorage.setItem("key", JSON.stringify(arr)); 这个方法就是将数组arr存到了浏览器的localStorage 中,它的参数名叫 key const...// 清除本地存储中的所有值 localStorage.clear(); // 本地存储中删除特定项 localStorage.removeItem(key);
localStorage 2、localStorage 存储在本地,容量为5M或者更大,不会在请求时候携带传递,在所有同源窗口中共享,数据一直有效,除非人为删除,可作为长期数据。...//设置: localStorage.setItem("dat", "456"); localStorage.dat = '456'; //获取: localStorage.getItem("dat"...); localStorage.dat //删除 localStorage.removeItem("dat"); 这种存储方式已经作为较大本地缓存使用来使用。...("dat", "456"); localStorage.dat = '456'; //获取: localStorage.getItem...("dat"); localStorage.dat }) 测试页面 </
安装 React 的学习环境 // 安装创建 react 项目的工具 npm install -g create-react-app // 创建一个项目 ➜ Project create-react-app...Installing react, react-dom, and react-scripts... // 启动项目 cd jiajia-react npm start 目录结构介绍 node_modules... ); } } export default App; 编译生产环境的项目 // 编译项目,会在项目目录下生成一个 build 的文件夹。...npm run build // 安装 pushstate-server 用于将已经编译好的项目部署 npm install -g pushstate-server // 将编译项目运行在本地查看效果...浏览器访问 http://0.0.0.0:9000 后就能看到编译后的测试项目了。
安装 React 的学习环境 // 安装创建 react 项目的工具 npm install -g create-react-app // 创建一个项目 ➜ Project create-react-app...Installing react, react-dom, and react-scripts... // 启动项目 cd jiajia-react npm start 目录结构介绍 node_modules... ); } } export default App; 编译生产环境的项目 // 编译项目,会在项目目录下生成一个 build 的文件夹。...npm run build // 安装 pushstate-server 用于将已经编译好的项目部署 npm install -g pushstate-server // 将编译项目运行在本地查看效果...浏览器访问 http://0.0.0.0:9000 后就能看到编译后的测试项目了。 相关
前言 日常放鸽,火钳刘明 这是一个基于 vite 搭建的 React 的项目,开发体验非常棒。 创建一个 Vite 项目 yarn create @vitejs/app ?...image.png 如上图,选择了 react-ts 预设模板,如果出现下图一样的工程 ?...那么恭喜你,你可以正常开发 React 项目了。...完结撒花 “如果不行的话,直接看 vite 官网,它比我写的详细 ” ---- 改造工程 但上述只是一个基础的 React demo,在实际开发项目中,是远远不够的,需要额外做一些项目配置 目录约定 根据日常的开发习惯...from 'react' import ReactDOM from 'react-dom' import { HashRouter, Route, Switch } from 'react-router-dom
1、工程化实践 umi+dva作为底层框架,Ant Design Mobile为 UI 组件库,是蚂蚁金服推崇的的react项目最佳实践,具有国际化、权限、数据流、配置式路由、补丁方案、自动化 external...16 引入了一个新的概念 —— 错误边界:错误边界 – React 懒加载 // index.js import React, { Component, lazy, Suspense } from '...react'; export default class Index extends Component { constructor(props) { super(props);..._renderLazy()} ) } } // error.js import React, { Component } from...'react'; export default class Error extends Component { constructor(props) { super(props);
新公司所有的项目基本上都是使用 react 进行开发,之前的工程师是自己使用 webpack 搭建的项目,因为涉及到的东西不多,而且存在一些问题,已经启用。...同时因为项目时间原因没有太多时间自己搭建,而且自己较懒,所以选择了使用 create-react-app 进行项目的开发。...yarn add react-app-rewired customize-cra 因为这里讲的是使用 create-react-app 创建的项目,此时我们需要对 create-react-app 的默认配置进行自定义...使用SSR渲染 使用SSR渲染不仅可以对SEO优化有一定的帮助,同时,还可以对react项目首屏优化的项目有一定的优化作用,所以,如果有需要,可以采用SSR渲染的模式进行开发。...关于SSR渲染你可以自己在create-react-app项目中写同构应用,也可以使用现有的服务端渲染的框架,如 nextjs等。这里不做过多说明。
领取专属 10元无门槛券
手把手带您无忧上云