1、组件
如果我们使用react搭建页面的话,页面就是由我们编写的组件各种组合嵌套而来,可以说组件是react的基本组成元素。组件包含了UI呈现、前端逻辑,它可以向内部的其他组件传递数据
2、JSX
return <p>Hello {this.props.data ? 'hello' : 'world'}</p>;
react在输出UI时的语法,利用XML的结构,让我们可以混写写html和js,最终由react解析
3、props & state
props:属性properties,父组件可以向子组件的自定义属性传值,子组件在构造函数里接收父组件的所有props后就可以通过this.props.属性名获取传递的值了。由此可见组件间的传值是单向的,如果子组件想要影响父组件,父组件可以传递回调函数给子组件,子组件在一定时机去调用,这种情况下代码会变得耦合复杂
state:状态,我们在react中一般不通过dom操作去改变UI,而是通过state,state包含了组件的相关数据,当组件的某个动作改变了state的某个值的话(this.setState()),react会重新render UI。
4、组件生命周期
componentWillMount
render之前执行,并且只执行一次
componentDidMount
组件加载完之后立即执行
componentWillReceiveProps
组件接收到一个新的props时执行,通常父组件状态改变,给子组件传入了新的props值,子组件更新state改变状态
shouldComponentUpdate
在组件接收新的props或state时执行,返回true重新渲染,false则不
componentWillUpdate
在组件接收到新的props或者state但还没有render时被执行,初始化时不会执行
componentDidUpdate
组件完成更新后执行,初始化时不会执行
componentWillUnMount
组件从DOM中unmount后执行,通常更新状态后有些子组件unmount后执行
5、Redux
当我们想要统一的管理所有组件的状态时可以使用
参考:
Redux 入门教程(一):基本用法
Redux 入门教程(二):中间件与异步操作
进一步将store和组件分离(actions、dispatch):
Redux 入门教程(三):React-Redux 的用法
UI 组件负责 UI 的呈现,容器组件负责管理数据和逻辑。