@@ -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 -->
0 commit comments