Skip to content

Commit 19c801c

Browse files
authored
docs(cndocs): sync translations with upstream + update cnwebsite config (#1021)
Translation sync: - appearance.md: add 'App-level overriding' section, update getColorScheme/setColorScheme API docs, fix addChangeListener description - view-style-props.md: add experimental_backgroundImage section, add imports, update mixBlendMode with Android 10+ and plus-lighter Remove orphaned CN files (EN source deleted upstream): - cndocs/metro.md - cndocs/the-new-architecture/create-module-library.md - cndocs/the-new-architecture/using-codegen.md - cndocs/the-new-architecture/what-is-codegen.md cnwebsite config sync (Docusaurus 3.9.2 → 3.10.0): - Add @docusaurus/theme-mermaid dependency + mermaid config - Add admonitions keyword support - Update experimental_faster → faster - Update isDeployPreview to support Vercel - Bump all @docusaurus/*, react, and devDependency versions
1 parent b143d79 commit 19c801c

8 files changed

Lines changed: 139 additions & 627 deletions

File tree

cndocs/appearance.md

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,26 @@ if (colorScheme === 'dark') {
5353
}
5454
```
5555

56-
虽然配色方案值可以立即获取,但它可能随时发生变化(例如在日出或日落时自动切换配色方案)。任何依赖于用户偏好配色方案的渲染逻辑或样式都应该在每次渲染时调用此函数,而不是缓存该值。例如,你可以使用 [`useColorScheme`](usecolorscheme) React Hook 来获取并订阅配色方案的更新,也可以使用内联样式而不是将值设置在 `StyleSheet` 中。
56+
虽然配色方案值可以立即获取,但在未通过 `setColorScheme()` 进行覆盖时,该值可能会发生变化(例如在日出或日落时自动切换配色方案)。任何依赖于用户偏好配色方案的渲染逻辑或样式都应该在每次渲染时调用此函数,而不是缓存该值。
57+
58+
**推荐:** 使用 [`useColorScheme`](usecolorscheme) hook。
59+
60+
### 应用级覆盖
61+
62+
`setColorScheme()` 在应用级别覆盖配色方案——它不会影响系统设置或其他应用。传入 `'auto'` 将移除任何覆盖,恢复系统偏好。
63+
64+
```mermaid
65+
flowchart TD
66+
USC["useColorScheme()"] --> GCS["getColorScheme()"]
67+
GCS --> DEC{App override?}
68+
DEC -- "NO / reset via setColorScheme('auto')" --> SYS["System preference\n'light' or 'dark'"]
69+
DEC -- "YES — setColorScheme('light' | 'dark')" --> OVR["'light' or 'dark' (static)"]
70+
71+
classDef fn fill:#dce8f8,stroke:#4a90d9,color:#1a1a1a
72+
classDef out fill:#f0f4f8,stroke:#8faabb,color:#1a1a1a
73+
class USC,GCS fn
74+
class OVR,SYS out
75+
```
5776

5877
---
5978

@@ -67,39 +86,34 @@ if (colorScheme === 'dark') {
6786
static getColorScheme(): 'light' | 'dark' | null;
6887
```
6988

70-
返回当前用户偏好的配色方案。该值可能会在之后发生变化——可能由用户直接操作触发(例如在设备设置中选择主题,或通过 `setColorScheme` 在应用层面设置界面风格),也可能按计划触发(例如随昼夜更替自动切换的浅色/深色主题)
89+
返回当前激活的配色方案。该值可能会在运行时发生变化——可能在系统级别(例如在日出或日落时自动切换配色方案),也可能通过 `setColorScheme()` 在应用级别进行覆盖
7190

72-
支持的配色方案
91+
返回值
7392

74-
- `'light'`用户偏好浅色主题
75-
- `'dark'`用户偏好深色主题
76-
- `null`用户未指定偏好的配色主题
93+
- `'light'`浅色配色方案已激活
94+
- `'dark'`深色配色方案已激活
95+
- `null`当原生 Appearance 模块不可用时可能返回此值
7796

78-
另见:`useColorScheme` hook。
79-
80-
:::note
81-
使用 Chrome 调试时,`getColorScheme()` 将始终返回 `light`
82-
:::
97+
另见:[`useColorScheme`](usecolorscheme)(hook)。
8398

8499
---
85100

86101
### `setColorScheme()`
87102

88103
```tsx
89-
static setColorScheme('light' | 'dark' | null): void;
104+
static setColorScheme('light' | 'dark' | 'auto' | 'unspecified'): void;
90105
```
91106

92-
强制应用始终采用浅色或深色界面风格。默认值为 `null`,表示应用继承系统的界面风格。如果设置了其他值,新的风格将应用于整个应用及其内部所有原生元素(Alert、Picker 等)。
107+
强制应用始终采用浅色或深色界面风格。该更改应用于应用及其内部所有原生元素(Alert、Picker 等)。
93108

94-
支持的配色方案:
109+
这是应用级别的覆盖——它不会影响系统所选的界面风格,也不会影响其他应用中设置的任何风格。
95110

96-
- `light`:采用浅色界面风格。
97-
- `dark`:采用深色界面风格。
98-
- null:跟随系统的界面风格。
111+
支持的值:
99112

100-
:::note
101-
此更改不会影响系统所选的界面风格,也不会影响其他应用中设置的任何风格。
102-
:::
113+
- `'light'`:采用浅色配色方案。
114+
- `'dark'`:采用深色配色方案。
115+
- `'auto'`:跟随系统配色方案(移除任何覆盖)。
116+
- `'unspecified'`**已弃用**):跟随系统配色方案(移除任何覆盖)。
103117

104118
---
105119

@@ -111,4 +125,4 @@ static addChangeListener(
111125
): NativeEventSubscription;
112126
```
113127

114-
添加一个事件监听器,在外观偏好发生变化时触发。
128+
添加一个事件监听器,在外观偏好发生变化时触发。在 iOS 和 Android 上,回调中的 `colorScheme` 值始终为 `'light'``'dark'`

cndocs/metro.md

Lines changed: 0 additions & 108 deletions
This file was deleted.

cndocs/the-new-architecture/create-module-library.md

Lines changed: 0 additions & 192 deletions
This file was deleted.

0 commit comments

Comments
 (0)