这节课我们讲一些理论性的东西,比如:React单向数据流、React同其他框架共同工作和函数式编程的一些概念
一、单向数据流
React的特性中有一个概念叫做“单向数据流”,可能刚刚接触React的小伙伴不太明白这个概念,还是拿出《小姐姐服务菜单》的Demo,来给大家讲解。比如我们在父组件中可以直接把this.state.list
传递过来。例如下面代码:
其实这样传是没有问题的,问题是你只能使用这个值,而不能修改这个值,如果你修改了,比如我们把代码写成这样:
就会报下面的错误;
意思就是list
是只读的,单向数据流。那如果要改变这里边的值怎么办?其实上节课已经讲过了,就是通过传递父组件的方法。
二、和其他框架配合使用
React
和jquery
能一起使用。
React其实可以模块化和组件化开发。看/public/index.html
文件,代码如下:
你可以在其他的div里加入任何内容,但是这种情况很少,我也不建议这么使用。希望小伙伴们还是统一技术栈
函数式编程
在面试React时,经常会问道的一个问题是:函数式编程的好处是什么?
- 函数式编程让我们的代码更清晰,每个功能都是一个函数。
- 函数式编程为我们的代码测试代理了极大的方便,更容易实现前端自动化测试。
React框架也是函数式编程,所以说优势在大型多人开发的项目中会更加明显,让配合和交流都得心应手。