几个问题
什么是react?
构建前端UI界面的JavaScript库,
基于组件开发,使用JavaScript,
替代jQuery进行前端开发,以jQuery开发为代表的模式是活的DOM对象,操作DOM对象,而react是基于数据驱动
什么是jsx?
是JavaScript的语法扩展,看起来是HTML,本质是JavaScript,react用jsx描述UI组件的外观
jsx使用表达式来输出动态的内容,表达式使用{ },表达式里面可以包含所有的运算符,可以调用函数
jsx的属性应该区分大小写,如果属性值是字符串,必须使用“ ”,如果是表达式,使用{ },class使用className
组件
元素与组件
react是基于组件化开发的,关注功能点,使用JavaScript来实现的,
两种实现方式:
函数式:语法简单
类式:功能强大
什么时候需要提取一个组件:1,重用 2,这个组件比较复杂,将她分离出来后,可以降低复杂度
props,state
在react中是单向数据流
父组件通过props来给子组件传递数据,这些数据时静态的(数据传入后,不能改变),props属性值可以是任意JavaScript
如果有数据在程序中运行的过程会变化,这种数据应该通过state来管理,(通过事件驱动改state的值),state是组件私有的,只能由组件自己来操作控制它
(函数是对象)