javascript - 一个react的菜鸟问题
天蓬老师
天蓬老师 2017-04-11 10:57:51
0
3
225

问题背景

学习React也已经一个月了,能写一些简单的组件了,但是就引发了我的一个思考。

问题描述

所有教程都说React是一个纯View层的框架,但是在我自己使用中,我觉得:

  • state就是数据的存储啊,可以看做model

  • 在数据可以进行变更的地方比如onChange,onClick做setState的处理,这里对state的数据做处理也会引用视图的变更。这不就是ViewModel嘛

问题

只是在不使用redux的情况,有的时候state很不好管理,但是react还是一个很完整的功能啊,为什么说他只能负责view层呢?还是我对mvvm的理解就是错的呢?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆 (3)
伊谢尔伦

只是说react可以完成你整个项目的功能 但是到了你项目有了处理不了的问题的时候 这个时候就要需要一种架构来帮你解决这些问题 就像你所说的state很难管理 例如flux redux 例如angular的mvvm只是双向数据绑定 实际还是view和modle交互 而且react不需要你做获取dom和操作dom的操作 只需要管理你的数据 也就是state 单向数据流也清晰明了 之所以他只负责view是因为他的渲染能力以及强大的diff可以在view的渲染性能做出很大优化 他是可以完成完整功能的

    左手右手慢动作

    因为 React 的 props、state 都是局部的、封闭的,数据的管理非 React 的核心功能之一,即纯粹使用 React,当你需要组件之间互相交互数据时,会很麻烦(有时候不可能)。
    其核心是用户手动更新数据,React响应数据变化,自动更新View。
    因此需要 Redux 之类的来进行数据流管理,而 Redux 之类的是可以脱离 React 单独使用的。

      Peter_Zhu

      其实跟一代Angular对比一下你就知道为什么React是个纯View框架了。
      React并不关心你的state中数据怎么设计,它只帮你把state中的数据渲染到dom上,替代了jquery而且比后者好用的多,性能也棒。
      当然Redux之类的属于基于React的拓展了。

        最新下載
        更多>
        網站特效
        網站源碼
        網站素材
        前端模板
        關於我們 免責聲明 Sitemap
        PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!