Skip to content

Commit 7a63fe0

Browse files
committed
doc: 修订文字表述
1 parent 2baf877 commit 7a63fe0

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

README.md

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@
344344
* 考虑到真实的 DOM 操作成本很高,它使用 VirtualDOM 而不是真实的 DOM。
345345
* 支持服务端渲染。
346346
* 遵循单向数据流或数据绑定。
347-
* 使用可重用/可组合的 UI 组件开发视图。
347+
* 使用可复用/可组合的 UI 组件开发视图。
348348

349349
3. ### 什么是 JSX?
350350

@@ -455,7 +455,7 @@
455455

456456
7. ### 什么是 Pure Components?
457457

458-
`React.PureComponent``React.Component` 完全相同,只是它为你处理了 `shouldComponentUpdate()` 方法。当属性或状态发生变化时,PureComponent 将对属性和状态进行浅比较。另一方面,普通组件不会将当前的属性和状态与新的属性和状态进行比较。因此,在默认情况下,每当调用 `shouldComponentUpdate` 时,组件将重新渲染
458+
`React.PureComponent``React.Component` 完全相同,只是它为你处理了 `shouldComponentUpdate()` 方法。当属性或状态发生变化时,PureComponent 将对属性和状态进行**浅比较**。另一方面,一般的组件不会将当前的属性和状态与新的属性和状态进行比较。因此,在默认情况下,每当调用 `shouldComponentUpdate` 时,默认返回 true,所以组件都将重新渲染
459459

460460
8. ### React 的状态是什么?
461461

@@ -524,14 +524,14 @@
524524

525525
11. ### 我们为什么不能直接更新状态?
526526

527-
如果你尝试直接更新状态,则不会重新渲染组件?
527+
如果你尝试直接改变状态,那么组件将不会重新渲染。
528528

529529
```javascript
530530
//Wrong
531531
this.state.message = 'Hello world'
532532
```
533533

534-
而是使用 `setState()` 方法。它调度组件状态对象的更新。当状态更改时,组件通过重新渲染来响应
534+
正确方法应该是使用 `setState()` 方法。它调度组件状态对象的更新。当状态更改时,组件通将会重新渲染
535535

536536
```javascript
537537
//Correct
@@ -661,6 +661,16 @@
661661
</h2>
662662
}
663663
```
664+
665+
当然如果只是想判断 if,可以如下直接判断:
666+
667+
```
668+
{
669+
isLogin && <span>Your have been login!</span>
670+
}
671+
```
672+
673+
在上面的代码中,不需要使用`isLogin ? <span>Your have been login!</span> : null`这样的形式。
664674
665675
18. ### 什么是 "key" 属性,在元素数组中使用它们有什么好处?
666676
@@ -1171,6 +1181,8 @@
11711181
return <span className={'menu navigation-menu'}>{'Menu'}</span>
11721182
}
11731183
```
1184+
1185+
在实际项目中,我们经常使用[classnames](https://github.com/JedWatson/classnames)来方便我们操作`className`
11741186
11751187
46. ### 什么是 Fragments ?
11761188
@@ -1188,7 +1200,7 @@
11881200
}
11891201
```
11901202
1191-
以下是简介语法,但是在一些工具中还不支持:
1203+
以下是简洁语法,但是在一些工具中还不支持:
11921204
11931205
```jsx
11941206
render() {
@@ -1297,8 +1309,7 @@
12971309
2. 对于 Web 开发初学者来说,有一个学习曲线。
12981310
3. 将 React 集成到传统的 MVC 框架中需要一些额外的配置。
12991311
4. 代码复杂性随着内联模板和 JSX 的增加而增加。
1300-
5. 太多较小的组件导致过度工程化或样板文件。
1301-
5. Too many smaller components leading to over engineering or boilerplate.
1312+
5. 如果有太多的小组件可能增加项目的庞大和复杂。
13021313
13031314
54. ### 在 React v16 中的错误边界是什么?
13041315
@@ -2030,7 +2041,7 @@
20302041
20312042
94. ### 什么是 React proptype 数组?
20322043
2033-
如果要将对象数组传递给具有特定形状的组件,请使用 `React.PropTypes.shape()` 作为 `React.PropTypes.arrayOf()` 的参数。
2044+
如果你要规范具有特定对象格式的数组的属性,请使用 `React.PropTypes.shape()` 作为 `React.PropTypes.arrayOf()` 的参数。
20342045
20352046
```javascript
20362047
ReactComponent.propTypes = {
@@ -2275,7 +2286,6 @@
22752286
22762287
109. ### 为什么函数比对象更适合于 `setState()`?
22772288
2278-
React may batch multiple `setState()` calls into a single update for performance. Because `this.props` and `this.state` may be updated asynchronously, you should not rely on their values for calculating the next state.
22792289
出于性能考虑,React 可能将多个 `setState()` 调用合并成单个更新。这是因为我们可以异步更新 `this.props``this.state`,所以不应该依赖它们的值来计算下一个状态。
22802290
22812291
以下的 counter 示例将无法按预期更新:
@@ -2609,7 +2619,7 @@
26092619
26102620
129. ### 什么是 React Router?
26112621
2612-
React Router 是一个基于 React 的强大的路由库,可以帮助您快速地向应用添加新的屏幕和流,同时保持 URL 与页面上显示的内容同步
2622+
React Router 是一个基于 React 之上的强大路由库,可以帮助您快速地向应用添加视图和数据流,同时保持 UI 与 URL 同步
26132623
26142624
130. ### React Router 与 history 库的区别?
26152625

0 commit comments

Comments
 (0)