简单谈谈vue和react的不同

2017-07-26  本文已影响80人  sdcV

本人一直使用react,对于vue只是简单学习过,对其了解不是很深。它们的区别也大多是来自网上各位牛人的见解。

1 如果你喜欢用模板搭建应用(或者有这个想法),请选择Vue

Vue应用的默认选项是把markup放在HTML文件中。数据绑定表达式采用的是和Angular相似的mustache语法,而指令(特殊的HTML属性)用来向模板添加功能。举例:

// HTML
<div id="app">
    <p>{{ message }}</p>
    <button v-on:click="reverseMessage">Reverse Message</button>
</div>
 // JS
new Vue({
    el: '#app',
    data: {
        message: 'Hello Vue.js!'
    },
    methods: {
        reverseMessage: function () {
            this.message = this.message.split('').reverse().join('');
        }
    }
});
2 相比之下,React应用不使用模板,它要求开发者借助JSX在JavaScript中创建DOM。下面是用React实现的同样的应用:
// HTML
<div id="app"></div>
// JS (pre-transpilation)
class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            message: 'Hello React.js!'
        };
    }
   reverseMessage() {
       this.setState({ 
           message: this.state.message.split('').reverse().join('') 
       });
    }
   render() {
       return (
           <div>
               <p>{this.state.message}</p>
               <button onClick={() => this.reverseMessage()}>
                   Reverse Message
               </button>
           </div>
       )
    }
}
ReactDOM.render(App, document.getElementById('app'));
3 如果你喜欢简单和“能用就行”的东西,请选择Vue

一个简单的Vue项目可以不需要转译直接运行在浏览器中,所以使用Vue可以像使用jQuery一样简单。当然这对于React来说在技术上也是可行的,但是典型的React代码是重度依赖于JSX和诸如class之类的ES6特性的。
<b>Vue的简单在程序设计的时候体现更深,让我们来比较一下两个框架是怎样处理应用数据的(也就是state)。</b>

4. 如果你想要你的应用尽可能的小和快,请选择Vue
5 如果你打算构建一个大型应用程序,请选择React。
6 如果你想要一个同时适用于Web端和原生APP的框架,请选择React

React Native是一个使用Javascript构建移动端原生应用程序iOS,Android的库。 它与React相同,只是不使用Web组件,而是使用原生组件。 如果你学过React.js,很快就能上手react native,反之亦然。

7 如果你想要最大的生态系统,请选择React

总结:

<b>Vue的优势是:</b>

<b>React的优势是:</b>

<b>React和Vue相似处:</b>

上一篇下一篇

猜你喜欢

热点阅读