# react-study
**Repository Path**: cyhcnn/react-study
## Basic Information
- **Project Name**: react-study
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: wpt/dev/init/0.0.1
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-01-14
- **Last Updated**: 2022-02-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## react
> react + react-dom 为什么分两个包?
因为react在设计之初就有跨平台的野望,所以react本身只专注vDom,具体到客户端的实现转换,有其他包来处理(react-dom for h5, react-native for native)。
## react-CDN-引入
为什么除了react/react-dom之外还要引入babel?
+ 为了解析jsx(html无法识别这种语法糖)
## 官方脚手架项目初始化
1. 初始化
```shell
npx create-react-app [project-name]
```
2. 配置项抽离
```shell
npm run eject
```
## jsx
1. 在react中,jsx是React.createElement的语法糖。
> createElement(type, props, children);
2. jsx内嵌入js表达式,只需要在js表达式外套一个花括号即可。
3. jsx的插槽可以嵌入数组,这意味着列表渲染直接嵌入数组就可以了。
4. jsx中给元素添加类名,不能用class(因为它与关键字class冲突),要用className
## 组件的本质即函数(类)
> react中,常规模式下,有两种类型组件。
注意点:
+ 组件必须以大驼峰形式命名,其他规范以小驼峰为准。
+ 严格的**单项数据流**!跟vue不一样,在react组件中,组件自身的props是只读的。
+ react具有严格的单项数据流的特征,这使得它的数据管理十分的清晰和严明,这意味着我们在使用react构建我们的应用时,只需把控组件本身的状态(state),和由外而内从外界传入的属性(props)即可。
### 函数式组件
形如
```jsx
const Box = (props) => {
return (