在RN开发中,我们总是需要去更改一个组件个数据(也就是所谓的状态),我们一般是采用是在初始化的函数constror()(好像拼错了)

在这个函数里面申明我们的初始化数据(状态)eg:this.state={xxxxx},

而后,当我们需要去改变这个数据的时候,我们就要利用函数setState(),来改变数据!

这样来的话,数据改变了,那么,组件的View也就改变了!

,这个显然是虽基本的状态改变方法,但是,当我们的组件越来越多的话,

那么改变的状态就要写很多很多的类似的程序,

很不容易维护,从而,这里就出现了维护State(状态数据)的一个东东,

让程序写起来更加的简洁,易于维护。目前市面上是FLUX和Redux这两种应用比较广泛,

当然,这只是一种思想而已(附件自己的一丢丢小的方法),就像MVC一样,不用也可以的!

OK!redux是基于flux的,所以,先来看看flux(redux相对于flux优化了很多,所以建议使用redux)

1.FLUX:

先上图:

在图中,我们可以很直观的看到,他的顺序是单向的,也就是所谓的数据的单向流动,

其中

1.Action代表着我们要执行的动作,类似于web中的onclick这个点击动作一样

2.当动作申明后就开始利用给函数,这个函数就是Dispacher()

3.函数有了,那么就开始执行这个函数,这个函数主要就是操控Store里面(这个相当于是所有组件的状态数据库)

4.状态数据库修改更新完毕,随之组件的表现VIEW就开始变化了哦!

5.当组件VIew,正在变化的时候,会回调一个ACTION给Dispacher(),叫他等等我更新完在用;

ok!整个过程就是这样~

2.Redux;

参考文档:中文官网:http://cn.redux.js.org/index.html

漫画学:http://zhongjie-chen.github.io/blog/2015/09/18/%E7%9C%8B%E6%BC%AB%E7%94%BB-%E5%AD%A6-Redux/

江青清:http://www.lcode.org/rn%E5%AE%9E%E6%88%98-%E5%98%8E%E5%98%8E%E5%95%86%E5%9F%8E%E4%B9%8B%E8%AE%B0%E4%B8%80%E6%AC%A1%E9%A1%B9%E7%9B%AEredux%E9%87%8D%E6%9E%84/

简单了解Flux,注意这是一个设计思想,是一个架构!!!!!的更多相关文章

  1. 使用Unity3D的设计思想实现一个简单的C#赛车游戏场景

    最近看了看一个C#游戏开发的公开课,在该公开课中使用面向对象思想与Unity3D游戏开发思想结合的方式,对一个简单的赛车游戏场景进行了实现.原本在C#中很方便地就可以完成的一个小场景,使用Unity3 ...

  2. Web Magic设计思想

    1.1 设计思想 1. 一个框架,一个领域 一个好的框架必然凝聚了领域知识.WebMagic的设计参考了业界最优秀的爬虫Scrapy,而实现则应用了HttpClient.Jsoup等Java世界最成熟 ...

  3. python 面向对象设计思想发展史

    这篇主要说的是程序设计思想发展历史,分为概述和详细发展历史 一,概述 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的 指令和数 据.简单来 ...

  4. Day1:了解APICloud平台、理解APICloud应用设计思想、掌握平台使用流程。学习如何对一款APP进行需求分析、功能分解和架构设计等编码之前重要的准备工作

    学习目标 总体上了解一下APICloud平台,重点介绍相关的学习资源,入门资料,常见的FAQ等 明确我们这七天要开发一个什么样的APP,明确功能需求,跟上每天的课程节奏,可以课前预习 梳理出对于一款A ...

  5. CSS组件架构的设计思想

    不管是设计思想,还是架构,都可以总结为一个词:AO模式.A表示Append,即“附加”的意思,O表示Overwrite,即“重写”的意思.所有的CSS组件都是沿用这种思想来设计的.这也是CSS的特性, ...

  6. 如何设计Java框架----一个简单的例子【翻译】

    原文:http://www.programcreek.com/2011/09/how-to-design-a-java-framework/ 原文和翻译都只是参考,如有不对,欢迎指正. 你可能会好奇框 ...

  7. 如何设计和实现一个web app

    web app简介 web app其实不算是什么新鲜的东西,相比于传统的web和传统的app,web app这种web和app相结合的产物有的优点如下: 1. 开发上web app更有便捷性,ios开 ...

  8. 自己动手设计并实现一个linux嵌入式UI框架(设计)

    看了"自己动手设计并实现一个linux嵌入式UI框架"显然没有尽兴,因为还没有看到庐山真面目,那我今天继续,先来说说,我用到了哪些知识背景.如:C语言基础知识,尤其是指针.函数指针 ...

  9. C 封装一个通用链表 和 一个简单字符串开发库

    引言 这里需要分享的是一个 简单字符串库和 链表的基库,代码也许用到特定技巧.有时候回想一下, 如果我读书的时候有人告诉我这些关于C开发的积淀, 那么会走的多直啊.刚参加工作的时候做桌面开发, 服务是 ...

随机推荐

  1. ubuntu14.04安装dropbox

    官网地址: https://www.dropbox.com/install?os=lnx 自己的系统如果没有设置全局翻(qiang)代理,使用deb文件安装后不能直接使用,因为还需要到官网安装prop ...

  2. 【Django】Django 如何使用 Django设置的日志?

    代码: from django.core.management.base import BaseCommand, CommandError from django.db import models # ...

  3. 【Hibernate】Hibernate系列1之概述

    概述 Hibernate简介 1.2.安装hibernate tools插件 1.3.HelloWorld示例 1.3.1.加入jar包 1.3.2.开发步骤 hibernate generator ...

  4. mac os 显示文件列表命令 ls -a

    显示正常文件列表用ls就行了,但是要是想显示隐藏的文件,需要加-a

  5. 奇怪的梦境(codevs 2833)

    题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很多按钮,还有一个屏幕,上面显示了一些信息.屏幕上说,要将所有按钮都按下才能出去,而又给出了一些信息,说明 ...

  6. 【Chrome】手动下载和安装Adblock Plus的方法

    由于强大的GFW,导致很多Google的站点没法访问,也就没法直接安装chrome的插件了,网页都打不卡, 那么几乎是必备的Adblock Plus如何下载安装呢? 1.访问官方网站: https:/ ...

  7. EF架构~为EF DbContext生成的实体添加注释(T5模板应用)(转载)

    转载地址:http://www.newlifex.com/showtopic-1072.aspx 最近新项目要用Entity Framework 6.x,但是我发现从数据库生成模型时没有生成字段的注释 ...

  8. Mac下搭建go语言开发环境

    一.下载安装go 到墙内下载go的安装包: http://www.golangtc.com/download 点击安装包然后进行安装 二.配置 1.查看环境 go version 2.安装完sdk之后 ...

  9. [译]SQL Server 之 索引基础

    SQL Server中,索引以B-tree的结构组织数据.B-tree代表平衡树,但是SQL Server使用一种叫做B+的树. B+树不是总是保持严格的平衡的树. 首先,索引有两个主要的部件:一个页 ...

  10. vijos 1006 spfa **

    链接:点我 spfa即可