当前位置: 首页 > news >正文

网站如何制作的网站优化招商

网站如何制作的,网站优化招商,大鹏新区住房建设局网站,网站群建设flux的基本使用 什么是MVC? MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。 V即View视图是指用户看到并与之交互的界面。 M即Model模型是管理数据 &…

flux的基本使用

什么是MVC?
MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。
V即View视图是指用户看到并与之交互的界面。
M即Model模型是管理数据 ,很多业务逻辑都在模型中完成。在MVC的三个部件中,模型拥有最多的处理任务。
C即Controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
MVC只是看起来很美
MVC框架的数据流很理想,请求先到Controller, 由Controller调用Model中的数据交给View进行渲染,但是在实际的项目中,又是允许Model和View直接通信的。为了解决这个缺陷,就衍生出来了几个新的架构思想:flux,Redux,mobx

传统MVC的缺陷

  • 传统MVC没有解决 M 和 V 之间的交互关系
  • 为了弥补这个缺陷,人们相处了 Flux Redux Mobx 这样三种架构思维 , 那么React只是这三种架构的一个组成部分,那么这个组成部分充当的是 View( 视图 )
  • Flux Redux Mobx 和 MVC 是一个级别的,相比之下, vuex级别要小的多 ,但是他们解决的都是多组件状态共享
  • 问题: 我想在Redux中使用vue , 可以吗? 可以的

Flux

Flux架构的使用需要借助一个工具, 这个工具叫做 flux

Flux的使用流程

  1. 要想使用FLux架构思维,需要通过一个工具进行使用, 这个工具就是flux
  2. 安装 flux
    $ yarn add flux
  3. 在src目录下 新建store目录,里面新建index.js
  • store有两个功能
  • 存储数据
  • 当数据发生改变时,视图要进行更新 ( 当前组件中的state发生了改变,从新从store中获取数据,要想重新复制,那么要通过事件的发布,订阅 )
// store/index.jsimport state from ' ./state '
const EventEmitter = require( 'events' ).EventEmitterconst store = {...EventEmitter.prototype,// 解构,这样store中就会继承events中的方法state,getState () {//将state中的数据返回出去return this.state}
}
export default store
  1. 将store中的数据显示在组件(视图)中
import store from './store'class xxx extends React.Component{constructor () {super()this.state = {count: store.getState().count}}render () {return (<div><p> { this.state.count } </p></div>)}
}
  1. 用户操作,用户点击按钮,执行当前组件中的方法,这个方法的逻辑实际上是actionCreators中的方法
  2. 创建actionCreators.js
  • actions的发送要通过dispatcher来发送
import * as type from './type'
import dispatcher from './dispatcher';const actionCreators = {increment () {// 创建动作let actions = {type: type.INCRMENT}// dispatcher来通过dispatch 发送actionsdispatcher.dispatch( actions )}
}
export default actionCreators
  1. 创建dispatcher.js
import { Dispatcher } from 'flux';
import * as type from './type'
import state from './state'const dispatcher = new Dispatcher()// dispatcher.register( callback )dispatcher.register( ( actions) => {switch ( actions.type ) {case type.INCRMENT:// 用户操作了state.count++break;default:break;}
})
export default dispatcher
  1. 通过store的事件的发布和订阅进行 当前组件中 state 的重新赋值
  • 当我们点击按钮是,要通过store的事件的订阅给当前组件的state重新赋值,要想这样做,我们必须进行事件的发布
  • 组件的生命周期中,数据可以进行一次修改的可以往 componentWillMount // componentDidMount
  • 当我们点击按钮的时候,就要修改当前组件的state,也就是要进行事件的订阅
import React from 'react';
import logo from './logo.svg';
import './App.css';
import store from './store'
import actionCreators from './store/actionCreators';class App extends React.Component {constructor () {super()this.state = {count: store.getState().count//actionCreatora中定义的数据}}//每次点击都会触发actionCreators中的方法,然后发送动作到dispatcher中,在dispatcher中进行数据的修改increment () {actionCreators.increment()store.emit('count')}//数据的重新赋值,每次数据改变都要重新获取到state中的数据然后进行赋值componentDidMount () {store.on('count', () => {this.setState({count: store.getState().count})})}render () {return (<div><h3> flux </h3><button onClick = { this.increment }> + </button><p> count: { this.state.count } </p></div>)}
}
export default App;
http://www.lbrq.cn/news/2679139.html

相关文章:

  • 广东省建设部网站seo优化名词解释
  • 泰兴网站优化网站seo关键词优化排名
  • 学 网站开发网站的优化
  • 做刷题网站赚钱么大兵seo博客
  • html公司网站模板源码在线发外链工具
  • 在日本怎样做网站今天重大新闻国内最新消息
  • 建设一个功能简单的网站天津百度推广中心
  • 网站背景动图怎么做漯河网站推广公司
  • 宜宾做直销会员网站2019网站seo
  • wordpress 文章顺序seo网站设计工具
  • 杭州住房和城乡建设局网站首页最彻底的手机优化软件
  • 美图网seo外链推广员
  • 今日陕西疫情最新消息在线刷seo
  • 怎么用linux做网站服务器短视频seo关键词
  • 有网站制作app要多长时间沈阳专业seo
  • 神华集团两学一做登陆网站合肥正规的seo公司
  • wordpress 新增seo搜索引擎优化价格
  • 怎么在搜狐快站上做网站外贸网站建设公司哪家好
  • 网站已付款方式在线crm软件
  • 北京P2P公司网站建设能打开任何网站浏览器
  • 荆州哪里有做网站的百度自然排名优化
  • 官方网站建设合同百度推广电话销售话术
  • 大连龙采做网站seo基础
  • 专业的网站建设科技公司杭州seo价格
  • 如何给网站做排名竞价推广工具
  • 怎么找做网站的公司百度信息流广告怎么收费
  • 公司logo设计图片免费杭州seo中心
  • 做插画的网站seo基础入门免费教程
  • 网站高防空间考拉seo
  • 用建站ABC做的网站 怎么营销最强大的搜索引擎
  • 网站测评-利用缓存机制实现XSS的分步测试方法
  • 支持任意 MCP 协议的客户端
  • Rust学习笔记(一)|Rust初体验 猜数游戏
  • 【PRML】分类
  • MVC结构变种——第三章核心视图及控制器的整体逻辑
  • uni-app 网络请求终极选型:uni.request、axios、uni-network、alova 谁才是你的真命请求库?