美文网首页
React or Vue?

React or Vue?

作者: Grace_ji | 来源:发表于2018-07-21 10:33 被阅读0次

    1. 如果喜欢使用模板构建应用程序,那么选择Vue

    大括号用于数据绑定表达式,指令用于向模板添加功能

    <div id="app">
      <p>{{ message }}</p>
      <button v-on:click="reverseMessage">Reverse Message</button>
    </div>
    
    new Vue({
      el: '#app',
      data: {
        message: 'Hello Vue.js!'
      },
      methods: {
        reverseMessage: () => {
          this.message = this.message.split('').reverse().join('');
        }
      }
    });
    

    相比之下,React应用程序避开模板,要求在JavaScript中创建DOM,通常使用JSX语法。

     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'));
    

    2. 如果喜欢简单的能正常工作的,那么选择Vue

    在React中State是不可以直接改变的,需要调用setState接口:

    this.setState({ 
        message: this.state.message.split('').reverse().join('') 
    });
    

    当前和之前的状态差异让React知道什么时候在DOM中重新渲染以及渲染什么,因此不可变的状态是非常必要的。

    相比之下,数据可以在Vue中突变。

    this.message = this.message.split('').reverse().join('');
    

    3. 如果希望程序更小更快,那么选择Vue

    4. 如果你想要构建大型应用程序,那么请选择React(对团队开发能力有要求)

    • vue 特性比较多, 很容易写出不受控制的项目,
    • vue 封装太多,
    • vue构建基于模板的应用程序, 有些很微妙错误极其难追踪和调试,不易重构分解
    • react 里发生的一切都是可预知,当透明度和可测试性至关重要时,它会发挥更大的作用。

    5. 如果你想要一个同时适用于web和原生APP的库,那么请选择React

    6. 如果你想要最大的生态系统,那么请选择React

    7. 如果已经选择了其中的一个,那么也不需要换了

    总而言之:

    Vue的优势是:

    • 模板或渲染的灵活选项

    • 语法以及项目设置的简单

    • 渲染速度更快,体积更小

    React的优势是:

    • 更大的规模、更多的使用者、更好的可测试性

    • Web和原生APP

    • 能提供更多支持和工具的更大的生态系统

    React和Vue都是优秀的UI库,并且具有更多的相似之处。它们都有的优势是:

    • 使用虚拟DOM快速渲染

    • 轻量级

    • 响应式组件

    • 服务端渲染

    • 轻松集成的的路由、捆绑和状态管理

    • 强大的支持和社区

    相关文章

      网友评论

          本文标题:React or Vue?

          本文链接:https://www.haomeiwen.com/subject/siocmftx.html