first commit.
This commit is contained in:
commit
86e48a50cb
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
node_modules
|
||||||
|
_book
|
16
React & Preact/2021,再识 React.md
Normal file
16
React & Preact/2021,再识 React.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# 2021,再识 React(Preact 入门)
|
||||||
|
|
||||||
|
## 前言
|
||||||
|
第一次入门 React 还是在 2019 年,那年还在用 Vue 2 做 Web 前端,刚上手了 Angular 4,感觉简单的 Vue 和站在未来的 Angular 简直是包揽了小项目和中大型项目,React 的处境确实尴尬。想着学了两个,再了解下 React 何尝不可。现代前端圈在不同问题的解决方案其实已经出现了一些主流的流派,在 Flutter 中,时不时能看见 Web 前端圈的风采。现在 2021 了,发现 React 社区的思想和实践经验价值是十分巨大的,深入了解 React 的发展和实践,对 Vue 和 Flutter 的开发应该是十分有利的。新年伊始,“从零开始异世界生活“!
|
||||||
|
|
||||||
|
## React
|
||||||
|
React 是一个由 Facebook 主导的前端界面库。可以粗略地认为,React + Mobx = Vue。他们实在太像了,同样的 virtual DOM,同样提供了相应式和组件化视图,同样相比与 Angular,将其他功能交给了其他库,自己只负责视图层。
|
||||||
|
|
||||||
|
## Preact
|
||||||
|
Preact 是一个 React 的 3kB 轻量化方案,兼容 React 绝大部分的生态。其实它并不是很优秀,主要还是因为它小且能共享 React 生态。
|
||||||
|
下面文章内容是在 Preact 上实践后编写的,可能与 React 有所区别。
|
||||||
|
|
||||||
|
## 函数式组件
|
||||||
|
Functional components,一种输入 Prop,输出 ReactElement 的函数。配合 Hooks,函数式俎件在功能上能够与 Class components 媲美,而且在代码量上,函数式俎件有着先天优势。虽然函数式组件一经问世,在社区中出现了两变倒的形式,但是随着 Facebook 在 React 上持续的迭代,目前函数式组件已经能够委以重任了~
|
||||||
|
|
||||||
|
### Hooks
|
5
SUMMARY.md
Normal file
5
SUMMARY.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Summary
|
||||||
|
|
||||||
|
* [Introduction](README.md)
|
||||||
|
* [# 2021,再识 React(Preact 入门)](React & Preact\2021,再识 React.md)
|
||||||
|
|
4722
package-lock.json
generated
Normal file
4722
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
25
package.json
Normal file
25
package.json
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"name": "blog",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"description": "Ivan's blog draft.",
|
||||||
|
"main": "index.js",
|
||||||
|
"dependencies": {},
|
||||||
|
"devDependencies": {
|
||||||
|
"gitbook-cli": "^2.3.2"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "test"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.ivanli.cc/ivan/Blog.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"blog",
|
||||||
|
"artile",
|
||||||
|
"draft",
|
||||||
|
"ivan"
|
||||||
|
],
|
||||||
|
"author": "Ivan Li",
|
||||||
|
"license": "ISC"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user