• React状态管理库


    React状态管理库

    React没有解决的问题

    React本身只是一个抽象的DOM层,使用组件来构建虚拟的DOM

    如果用React来开发大型的应用程序,还需要解决两个问题

    • 架构:大型应用程序应该如何组织代码
    • 通信: 组件之间应该如何通信

    架构问题

    React只是视图层的解决方案,可以用任何一种架构

    • MVC
    • MVVM
    • Observer
    • Reactive
    • ...

    到底哪一种架构最适合React


    通信问题

    组件会发生三种通信。

    • 向子组件发消息
    • 向父组件发消息
    • 向其它组件发消息

    React只提供了一种通信手段,传递参数,对于大型应用程序的组件通信,非常的不方便。


    状态的同步

    通信的本质是状态的同步。

    React同步状态的基本方法:找到通信双方最近的共同父组件,通过它的state,使得子组件的状态保持同步。


    Flux架构

    Facebook提出Flux架构的概念,被认为是React应用的标准架构

    最大的特点:数据单向驱动。与MVVM的双向绑定形成鲜明对比。


    Flux的核心思想

    • 不同组件的state,存放在一个外部的、公共的store上面
    • 组件订阅Store的不同部分
    • 组件dispatch action ,更新state

    Flux只是一种概念,有30多种实现。


    目前最流行的两个React架构

    React架构最重要的作用:管理Store与Vue

    • MobX:响应式(Reactive)管理,state是可变对象,适合中小型项目
    • Redux:函数式(Functional)管理,state是不可变对象,适合大型项目

    MobX接下来会学一下,Redux用的算熟了,以后用的多的估计还是Dva

  • 相关阅读:
    Unity3D 事件
    Unity3D 动画回调方法
    Unity3D优化总结
    Unity3D 第一人称控制器 C#脚本
    TCP/IP与IETF的RFC
    linux内核调优参考
    nginx_tcp_proxy代理酸酸乳
    Gitlab+Jenkins实现自动部署
    inotifywait命令详解及安装
    yum无法安装nginx,报错内容为1:nginx-1.14.2-1.el7_4.ngx.x86_64: [Errno 5] [Errno 2] 没有那个文件或目录
  • 原文地址:https://www.cnblogs.com/ssaylo/p/12766779.html
Copyright © 2020-2023  润新知