我的博客


  • 首页

  • 归档

  • 标签

  • 搜索

redux和react-redux入门

发表于 2020-09-16 | 阅读次数

redux

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。

如果你的应用有以下场景,可以考虑使用 Redux。

  • 某个组件的状态,需要共享
  • 某个状态需要在任何地方都可以拿到
  • 一个组件需要改变全局状态
  • 一个组件需要改变另一个组件的状态

redux 的基本概念

Store

Store 就是保存数据的地方。整个应用只能有一个 Store。

Store 有以下职责:

  • 维持应用的 state;
  • 提供 getState() 方法获取 state;
  • 提供 dispatch(action) 方法更新 state;
  • 通过 subscribe(listener) 注册监听器;
  • 通过 subscribe(listener) 返回的函数注销监听器。
阅读全文 »

React Hooks 入门

发表于 2020-08-31 | 阅读次数

React Hooks 是 React v16.8 版本引入了全新的 API。

React Hooks 基本概念

React 默认提供的四个最常用的钩子

  • useState()
  • useEffect()
  • useContext()
  • useReducer()

useState()

useState()用于为函数组件引入状态(state)。纯函数不能有状态,所以把状态放在钩子里面。

先看这个例子,这个例子用来显示一个计数器。当你点击按钮,计数器的值就会增加。

1
import React, { useState } from 'react';
2
3
function App() {
4
  const [count, setCount] = useState(0);
5
6
  return (
7
    <div>
8
      <p>You clicked {count} times</p>
9
      <button onClick={() => setCount(count + 1)}>
10
        Click me
11
      </button>
12
    </div>
13
  );
14
}
阅读全文 »

docker 入门

发表于 2020-02-10 | 阅读次数

什么是docker

Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。

Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目 已经超过 5 万 4 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。

Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。

阅读全文 »

jquery 实现全选功能

发表于 2020-02-10 | 阅读次数

最近做项目时需要使用jquery做全选功能,总结记录如下:

1
<div class="check">
2
	<label>
3
    	<input type="checkbox" name="all" onchange="selectAll(this)">全选
4
    </label>
5
  	<label>
6
    	<input type="checkbox" value="" name="check_1" class="check_input" onchange="change(this)">1
7
    </label>
8
    <label>
9
    	<input type="checkbox" value="" name="check_2"
10
         class="check_input"onchange="change(this)">2
11
    </label>
12
    <label>
13
    	<input type="checkbox" value="" name="check_3" class="check_input" onchange="change(this)">3
14
    </label>
15
</div>
阅读全文 »

hexo next主题搭建gitalk评论

发表于 2019-11-30 | 阅读次数

gitalk 是一款基于 Github Issue 和 Preact 开发的评论插件,评论时需使用 Github 账号进行登录。

创建 OAuth App

1.登录github,点击个人头像 –> Settings
2.选择 Developer settings –> OAuth Apps –> 点击 new OAuth App按钮。
3.注册成功后,页面跳转,填写如下参数:

1
Application name: # 应用名称,随意填写
2
3
Homepage URL: # 网站URL,如https://wang7211401.github.io
4
5
Application description # 描述,随意填写
6
7
Authorization callback URL:# 网站URL,https://wang7211401.github.io
阅读全文 »

搭建hexo博客

发表于 2019-11-28 | 阅读次数

什么是 Hexo?

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

安装

1
npm install hexo-cli -g
2
hexo init blog
3
cd blog
4
npm install
5
hexo server # 开启本地服务 简写 hexo s
阅读全文 »

ES6语法

发表于 2019-11-28 | 阅读次数

ES6 语法

解构赋值

数组的解构

1
let [a,b,c] = [1,2,3]
2
console.log(a, b, c) 
3
4
let [a, [b], c] = [2, [3], 4]
5
a //2
6
b //3
7
c //4
8
9
let [a] = 1 //报错

阅读全文 »

树莓派入门使用

发表于 2019-11-26 | 阅读次数

官方提供的操作系统是 Raspbian,这是 Debian 系统的定制版。
树莓派系统装好后,在系统根目录创建 SSH 文件,开启 SSH 协议,注意没有后缀名

1.开启账号

1
sudo passwd root
2
// 输入两遍密码
3
4
sudo nano /etc/ssh/sshd_config
5
Ctrl+W 快捷键 搜索 PermitRootLogin without-password
6
修改 PermitRootLogin without-password 为 PermitRootLogin yes
7
Ctrl+O 快捷键 保存
8
Ctrl+X 快捷键 退出 Nano 编辑器
9
10
sudo passwd --unlock root // 打开账号
11
sudo reboot // 重启系统
阅读全文 »

微信公众号开发

发表于 2019-11-10 | 阅读次数

微信公众号有:企业号、服务号、订阅号

企业号
是为企业或组织提供移动应用入口,帮助企业建立与员工、上下游供应链及企业应用间的连接。

服务号
企业和组织,提供更强大的业务服务与用户管理能力。比如支付,智能接口

订阅号
比较适合于个人,小团队,主要是用于信息传播,帮助管理用户以及和用户互动。比如撰写文章,咨询传播,消息定制等

阅读全文 »

MongoDB 使用总结

发表于 2019-10-25 | 阅读次数

MongoDB 是免费开源的跨平台 NoSQL 数据库,非关系数据库。与关系型数据库不同,MongoDB 的数据以类似于 JSON 格式的二进制文档存储。

非关系数据库和关系型数据库的区别是什么?

  • 实质:非关系型数据库的实质:非关系型数据库产品是传统关系型数据库的功能阉割版,通过 减少用不到或很少用的功能,来大幅度提高产品性能。
  • 价格:目前的非关系型数据库基本都是免费的,而比较有名气的关系型数据库都是收费的,比如:Oracle、DB2、MSSQL。MySql虽然是免费的,但是处理大型数据还是要提前作很多工作的。
  • 功能:实际开发中,很多业务需求,其实并不需要完整的关系型数据库功能,非关系型数据库的功能就足够使用了。这种情况下,使用性能更高、成本更低的非关系型数据库当然是更明智的选择。
阅读全文 »
12…7下一页
shadow

shadow

70 日志
50 标签
GitHub 简书
© 2017 - 2020 shadow