Skip to content
This repository was archived by the owner on Mar 1, 2025. It is now read-only.

Commit 3a4e2b7

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 39a6063 + 8ef239f commit 3a4e2b7

File tree

3 files changed

+77
-8
lines changed

3 files changed

+77
-8
lines changed

Hoshino_FullStack_Compass.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,65 @@ JSX 要求标签明确关闭:像 `<img>` 这样的自闭合标签必须写成
5757

5858
可以使用[转换器](https://transform.tools/html-to-jsx),将现有的`html`代码转换为`JSX`代码。
5959

60+
### 02.16
61+
62+
今天主要过了一遍React基础部分。了解基本用法,然后准备直接上手Nxet.js框架了。
63+
64+
- React 应用程序是由*组件*组成的。组件是 UI(用户界面)的一部分,具有自己的逻辑和外观。组件可以小到一个按钮,也可以大到整个页面。
65+
- React 组件是返回 markup 的 JavaScript 函数。
66+
- React 组件名称必须始终以大写字母开头,而 HTML 标签必须为小写。
67+
- 在 React 中,使用 `className` 指定 CSS 类。然后,在单独的 CSS 文件中编写它的 CSS 规则。React 没有规定如何添加 CSS 文件。在最简单的情况下,直接向 HTML 添加 [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link) 标签即可。
68+
69+
在React中要使用响应式的变量需要从 React 导入 [`useState`](https://react.dev/reference/react/useState) ,并在代码中使用它来定义变量:
70+
71+
```react
72+
import { useState } from 'react';
73+
74+
function MyButton() {
75+
const [count, setCount] = useState(0);
76+
77+
function handleClick() {
78+
setCount(count + 1);
79+
}
80+
81+
return (
82+
<button onClick={handleClick}>
83+
Clicked {count} times
84+
</button>
85+
);
86+
}
87+
```
88+
89+
如果多次渲染同一个组件,每个组件都会得到它自己的状态。
90+
91+
`use` 开头的函数称为 *Hook。*`useState` 是 React 提供的内置 Hook。Hook 比其他函数更具限制性。只能在组件(或其他 Hook)*的顶部*调用 Hook。如果想在条件或循环中使用 `useState`,需要提取一个新组件并将其放在那里。
92+
93+
React的组件共享数据我感觉比Vue简单多了。在上面的代码中,数据是被定义在组件内的,所以每一个单独的组件的数据是隔离的。只要将数据定义在组件的上一级节点中,通过传参的方式就能实现组件的数据共享。
94+
95+
```react
96+
export default function MyApp() {
97+
const [count, setCount] = useState(0);
98+
99+
function handleClick() {
100+
setCount(count + 1);
101+
}
102+
103+
return (
104+
<div>
105+
<h1>Counters that update together</h1>
106+
<MyButton count={count} onClick={handleClick} />
107+
<MyButton count={count} onClick={handleClick} />
108+
</div>
109+
);
110+
}
111+
112+
function MyButton({ count, onClick }) {
113+
return (
114+
<button onClick={onClick}>
115+
Clicked {count} times
116+
</button>
117+
);
118+
}
119+
```
120+
60121
<!-- Content_END -->

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,15 @@ SaaS、Typescript、React、Nextjs、Taildwindcss、MDX、Linaria、Shiki、Reac
129129
<!-- START_COMMIT_TABLE -->
130130
| | 2.03 | 2.04 | 2.05 | 2.06 | 2.07 | 2.08 | 2.09 | 2.10 | 2.11 | 2.12 | 2.13 | 2.14 | 2.15 | 2.16 | 2.17 | 2.18 | 2.19 | 2.20 | 2.21 | 2.22 | 2.23 |
131131
| ------------- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
132-
| echozyr2001 |||| ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ || | | | | | | | |
132+
| echozyr2001 |||| ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ || ⭕️ | | | | | | | |
133133
| Kirov7 | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || | | | | | | | | | | | | | | |
134-
| Hoshino | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || | | | | | | | |
135-
| RisingGalaxy | ⭕️ ||| ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || | | | | | | | |
136-
| YamKH514 ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | | | | | | | | |
137-
| DriveFLY ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || | | | | | | | |
138-
| Makise | ⭕️ ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||||| ⭕️ | | | | | | | | |
139-
| DemoJustLuGuo ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ || ⭕️ | ⭕️ | | | | | | | | |
140-
| AmberHeart |||| ⭕️ | ⭕️ | ⭕️ | ⭕️ ||||| ⭕️ | ⭕️ | | | | | | | | |
134+
| Hoshino | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || | | | | | | | |
135+
| RisingGalaxy | ⭕️ ||| ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || | | | | | | | |
136+
| YamKH514 ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | | | | | | | | |
137+
| DriveFLY ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || | | | | | | | |
138+
| Makise | ⭕️ ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ ||||| ⭕️ | | | | | | | | |
139+
| DemoJustLuGuo ||| ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ || ⭕️ | ⭕️ || ⭕️ | ⭕️ | ⭕️ | | | | | | | |
140+
| AmberHeart |||| ⭕️ | ⭕️ | ⭕️ | ⭕️ ||||| ⭕️ | ⭕️ | ⭕️ | | | | | | | |
141141
<!-- END_COMMIT_TABLE -->
142142

143143
## 数据统计

RisingGalaxy_FullStack_Compass.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,4 +176,12 @@ flex: unset;
176176

177177
同时算是简单认识了一下 TypeScript 中的解构赋值写法。
178178

179+
### 02.16
180+
181+
> Learning time: About `3` hours
182+
183+
---
184+
185+
今日暂停了一下 _Full-Stack Social Media App Tutorial_ 的学习。主要在看 [AYA](https://github.com/liriliri/aya) 的代码 ~~(虽然似乎与本计划无关,项目里好歹有点 ts 沾点边,就当我在学吧)~~ :D
186+
179187
<!-- Content_END -->

0 commit comments

Comments
 (0)