1)import、export
如果你在x.js文件里边用了export default导出一个东西,那么你在y.js文件使用这个东西得这样来:
import dada from './y.js'
如果你不用defalut导出:
export const o = {}
export function fn() {}
那么在导入的时候,你得这样:
import {o,fn} from './x.js'
2)const
为什么要用const声明?
const title = <h1>React Learning</h1>
因为用 JSX 创建的元素一般是不变的! -> 内容可以变,但地址不变!
3)class
React 的旧版本创建类组件:
用createClass方法 -> 该 API 目前已移除,如果你非得使用它,请单独引入create-react-class这个包
新版本中,创建class组件,需要extends React.Component -> 复用React.Component的属性和方法 -> 为什么我们的子类明明没有写props,但却能够用它? -> 那是因为我们继承了React.Component

我不太确定:组件实例调用了父类的
setState方法 ->setState方法里边用到了子类的state属性 -> 这似乎是高阶类啊!
➹:React.createClass 和 extends Component 的区别 - SegmentFault 思否
4)箭头函数
function不用箭头函数:
<button onClick={this.handleClick.bind(this)}>Add</button>
以前的
createClass姿势,不需要我们自己去绑定this,因为 React 已经默认帮我们把所有方法里边的this搞为组件实例了!而现在的class组件则需要我们自己去绑定! -> 如果不绑定那么handleClick里边的this值就是null/undefined这样了! -> 我以为是那个触发事件的元素……
用了箭头函数:
<button onClick={() => this.handleClick()}>Add</button>
少写了一些代码……
5)npm vs yarn
npm:
npm 是一个基于 nodejs 的 JavaScript 包管理工具,全称叫做 node package manager,所谓的包呢,其实就是可复用的代码,每个人都可以把自己编写的代码库发布到 npm 的源,英文叫做 registry,上面呢进行管理,你也可以下载别人开发好的包,在你自己的应用当中使用
yarn:
6)快速搭建 React 开发环境
1)JSX
1、简介
2、实现原理
3、基本语法
💡:JSX 元素
// 用 JSX 创建的元素对象一般来说是不变的
const title = <h1>React Learning</h1>;
// 将 JSX 元素渲染成 DOM 的方法
ReactDOM.render(title,document.getElementById('root'))
💡:JSX 属性
支持的属性:DOM 元素 – React
💡:JSX 嵌套
()💡:JSX 表达式
{}2)组件类型