一直想写一下vue与react在写法上有哪些差异,打算跟着vue官网写一遍,然后再看对应的react是怎么实现的,所以现在开始吧。
安装
我直接使用工具来做这个例子了。
vue-cli
1 | npm install -g vue-cli |
create-react-app
1 | npm install -g create-react-app |
如果需要自己配置的话,自己去摸索。
启动实例
vue
1 | import Vue from 'vue' |
1 | //html部分 |
react
1 | import React from 'react'; |
1 | //html部分 |
插值
vue
1 | <div>Hello {{name}}</div> |
react
1 | <div>Hello {this.state.name}</div> |
添加事件
vue
1 | <template> |
react
1 | constructor(props){ |
条件渲染
vue
1 | <div v-if="isTrue"></div> |
react
1 | const showDiv = isTrue ? <div>{'true'}</div> : <div>{'false'}</div>; |
列表渲染
vue
1 | //html部分 |
react
1 | constructor(props){ |
组件
vue
1 | <template> |
react
1 | import React, {Component} from 'react'; |
props
vue
无需像react一样安装npm包
以
1 | <template> |
react
安装
首先需要import PropTypes from ‘prop-types’
以
1 | import React, {Component} from 'react'; |
默认值
1 | Hello.defaultProps = { |
类型检查
Hello.propTypes = {
name: PropTypes.string
}
分发内容
vue
1 | //Hello组件 |
react
1 | //Hello组件 |