(1)this.props 表示那些一旦定义,就不再改变的特性,而 this.state 是会随着用户互动而产生变化的特性
(2)组件的首字母必须大写,不然不报错也不显示
(4)在 JSX 中不能使用 if else 语句,但可以使用 conditional (三元运算) 表达式来替代
(2)Adjacent JSX elements must be wrapped in an enclosing tag
多个组件中返回的标签要用块级标签包裹起来
(3)报错:Unterminated JSX contents
多半是标签写错了,比如闭合标签斜线写在了后面
(5)类继承方式创建组件

react赋予state的特性,则是当state被修改时,会引起组件的一次重新渲染。即render方法会重新执行一次。也正是由于这个特性,因此当我们想要改变界面上的元素内容时,常常只需要改变state中的值就行了。这也是为什么结合render方法,我们可以不再需要jquery的原因所在。
为了区分ES6语法中的class关键字,当我们在jsx中给元素添加class时,需要使用className来代替
通常会在首次渲染改变组件状态(state)的行为,或者称之为有副作用的行为,都建议放在componentDidMount中来执行。主要是因为state的改动会引发组件的重新渲染。
我们很容易知道父组件想要修改子组件,只需要通过改变传入的props属性即可。那么子组件想要修改父组件的状态呢?正是父组件通过向子组件传递一个函数的方式来改变。
(6)React事件绑定的优点

(7)

(8)引入组件必须加上当前目录

否则会找不到模块

(9)create-react-app创建工程失败

修改淘宝源为默认源

进行该路径下缓存的删除

(10)展示组件与容器组件分离
分离的好处: 可以对展示组件中的数据进行类型判断PropTypes
网友评论