├── docs
├── 01-element-factory.html
├── 07-property-example.html
├── 15-simple-integration.html
├── 08-nested-components.html
├── 05-properties.html
├── 06-property-types.html
├── 03-nested-elements.html
├── 14-references.html
├── 02-jsx.html
├── 00-object-elements.html
├── 04-components.html
├── 13-element-refactor.html
├── 09-component-classes.html
├── 11-lifecycle-methods.html
├── 10-example-app.html
├── 12-component-refactor.html
└── 16-advanced-integration.html
├── README.md
├── summary.zh.md
├── LICENSE
└── summary.md
/docs/01-element-factory.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
`标签
85 |
86 | 被转换为
87 |
88 | ### Lesson 5 - Properties
89 |
90 | 组件与元素一样也可以使用属性
91 |
92 | 这也适用于对象和传播 (...) 运算符
93 |
94 | 这允许具有动态内容的组件
95 |
96 | 如果一个数组被用作"子节点",那么每个孩子都需要一个唯一的键属性
97 |
98 | ### Lesson 6 - Property Types
99 |
100 | PropType已从中删除`React`16,现在是他们自己的套餐
101 |
102 | 组件被创建来封装应该在一起的东西并重用. 重复使用要求组件的用户提供正确的属性,以便我们可以定义每个属性的类型并设置默认值
103 |
104 | 将propTypes (function-) 属性添加到组件函数以使其验证其 ( (element) ) 属性
105 |
106 | `React`为我们提供了一堆类型,比如字符串
107 |
108 | 如果用户未提供任何内容,则添加defaultProps (function-) 属性以设置默认值
109 |
110 | 这将在控制台中显示警告,因为customData应该是一个字符串
111 |
112 | 这将使用默认值
113 |
114 | ### Lesson 7 - Property Example
115 |
116 | 这是一个更实用的组件格式化日期并返回一个例子`
`包含格式化的字符串
117 |
118 | 还有一个更复杂的日期属性类型检查该属性是必需的,因为没有设置默认值
119 |
120 | 我们必须提供一个日期对象,组件进行格式化
121 |
122 | ### Lesson 8 - Nested Components
123 |
124 | 组件与元素一样可以嵌套
125 |
126 | 为此,子组件内部使用子属性
127 |
128 | 这个组件只是将它的孩子包裹在一个``元件
129 |
130 | 这个组件把它的孩子包装成一个``元件
131 |
132 | 如果``没有孩子的时候会创建一个默认的孩子
133 |
134 | 现在我们渲染两个``没有和有物品
135 |
136 | ### Lesson 9 - Component Classes
137 |
138 | `React.createElement()`reateClass已从中删除`React`16现在是它自己的软件包
139 |
140 | 通常情况下,组件需要维护一些内部状态,例如,如果在这种情况下涉及交互,则组件功能不够,组件功能只能具有属性而没有状态,我们需要具有渲染功能的组件类
141 |
142 | 用于与组件函数相同的属性类型检查
143 |
144 | 此方法为缺少的属性设置默认值,它将被调用`React`在组件被装入DOM之前
145 |
146 | 这个方法为它将被调用的组件设置初始状态`React`如果缺少这种方法,组件被装入DOM之前,`this.state`将是未定义的
147 |
148 | 国家可以是任何`JavaScript`价值,往往是一个对象
149 |
150 | 此方法处理所有的点击``元件
151 |
152 | 可以使用包含新状态的对象调用setState () ,但通常会触发render () 的调用`React`可以批量多次调用并延迟render () 调用 (使调用异步) 为了防止出现这种情况,setState可以取回一个回调
153 |
154 | 如果我们依赖,这可能会导致意想不到的行为`this.state`要么`this.props`为我们的计算`this.setState` ({时间: `this.state.times`+ 1})
155 |
156 | 回调版本没有这个问题回调得到正确的状态和`props`在更新时
157 |
158 | 这个方法会被调用`React`每次将组件装入DOM之后`this.setState` () 被称为它就像之前的组件函数,但没有`props`论据
159 |
160 | 使用该组件属性的创建者给出的道具现在处于`this.props`而不是`props`论据
161 |
162 | 通过点击处理程序返回一个元素`props`和状态值. 状态存储在`this.state`
163 |
164 | 创建一些具有默认颜色的交互式有状态组件类的实例一切与更简单的组件函数完全相同对于此组件的用户,接口没有改变
165 |
166 | ### Lesson 10 - Example App
167 |
168 | 一个简单的例子`React`应用程序它为无状态组件使用简单的组件函数,并使用复杂的组件类来处理交互
169 |
170 | 首先我们有任务和任务列表他们通过他们的属性获得他们所有的数据/状态``
171 | ``
172 | ``
173 | ``
174 |
175 | 任务需要一个文本属性
176 |
177 | TaskList需要在其子属性中包含任务数组
178 |
179 | 打印第一个粗体元素
180 |
181 | 这个组件处理输入它需要是一个类,因为``元素是有状态的
182 |
183 | 当有人输入进来时被调用``元件
184 |
185 | 当有人点击时会被调用`