用 react 和 vue 开发过项目后,我有一点儿心得,对两者的特征举行一个对照,可以发明一些同异的地方。这是我在思否写的第一篇文章,假如那里写得不对,请列位大佬改正。虽然我照样个“小白”,然则假如我的总结可以给比我更白的小小白一点儿协助,那也是极好的~
React
- 模板:JSX 把构造直接写在 js 中。
- 插值:{表达式},比方:<h2>{abc}</h2>。
- 轮回列表:[].map((obj) => 构造);
- 推断:三元运算符或许 if else。
- 定义组件:函数组件、类组件。
- 运用组件:当做标签的情势放在构造中,比方:<News /> 或 <News></News>。
- 给子组件通报数据:经由过程 props 向子组件定制数据。
- 子组件关照父组件:给子组件通报一个回调函数,在子组件中实行时,填入实参。
- 事宜体系:写在行间,驼峰定名法,假如须要传实参,则把要领放在函数体里。
- 生命周期钩子函数:挂载、更新、烧毁。
- 组件内部的状况:this.state = {};
- 监听数据变化:componentWillRecieveProps(nextProps){},引荐运用 getDerivedStateFromProps(nextProps, prevState)
- 导航守御:react-router 4.0以后没有导航守御。
- 给子组件定制构造:写在组件标签对中,子组件用 this.props.children 拿到。
Vue
- 模板:写在 <template></template> 中。
- 插值:{{表达式}} <h2>{{abc}}</h2>。
- 轮回列表:v-for
- 推断:v-if 或许 v-show。
- 定义组件:.vue 文件。
- 运用组件:当做标签的情势放在构造中 <vue-markdown></vue-markdown>
- 给子组件通报数据:经由过程 props 向子组件定制数据。
- 子组件关照父组件:经由过程 $emit 子组件传给父组件数据。
- 事宜体系:写在行间,经由过程 v-on(简写:@)绑定事宜,事宜名全小写,假如须要传参直接写小括号,不会马上实行,默许第一个参数是事宜对象。
- 生命周期钩子函数:构建、挂载、更新、烧毁。
- 组件内部的状况:data(){return {};}
- 监听数据变化:watch: {}
- 导航守御:全局、组件内、路由独享。
- 给子组件定制构造:不能给子组件定制构造。