【前端第十五课】Antd Design;mobx的基础用法

简介: 【前端第十五课】Antd Design;mobx的基础用法

目标

Antd Design

掌握Antd的引用方法

掌握Antd各个组件的使用方法

了解mobx的基础用法


Ant Design

https://ant.design/index-cn


Ant Design 是阿里推出的一套设计体系,antd 是基于这套设计体系的 React UI 组件库,主要用于开发企业级的中后台产品,它的组件质量非常高,而且使用TypeScript开发,提供完整的类型定义文件,是React社区最为知名的组件库。


想要使用 antd,我们只需要通过npm安装即可

npm i antd

假如我们想要引用某一个组件如 Button,只需要

import * as React from 'react'
import { Button } from 'antd'
export default class Main extends React.Component {
  render() {
    return <Button>Btn</Button>
  }
}

MobX

目前我们所接触到的React中的状态都只在组件内部或者父子组件之间传递,但是有些特殊的状态我们需要在很多不同的组件中都能访问它,而且当这些状态发生变化的时候可以引起界面的刷新,比如我们可以把当前登录的用户信息放到全局状态中,其他组件可以直接引用。


如果想要实现全局状态的管理,我们可以借助于React提供的 Context 或者社区的 Redux ,MobX 也是一个非常流行的状态管理库,它使用非常简单,上手容易,我们来学习一下它的基本使用。


创建全局状态

我们首先要创建一个状态类,来管理我们的全局状态,如

import { makeAutoObservable } from 'mobx'
class UserStore {
  username: string = 'name'
  setUsername(name: string) {
    this.username = name
  }
  constructor() {
    makeAutoObservable(this)
  }
}
export default new UserStore()

最后我们导出一个状态类的实例


绑定状态

如果想在某一个组件中绑定store中的状态,需要给类组件添加一个装饰器,然后就可以当成一个普通的状态来引用了

import * as React from 'react'
import { observer } from 'mobx-react'
import store from '../../store'
@observer
export default class Test extends React.Component {
  render() {
    return (
      <div>Test: {store.username}</div>
    )
  }
}

通过 import 将全局状态导入,然后在代码中引用即可


修改状态

任何时候都应该避免直接修改store中的值,我们在store中定义一些方法,通过这些方法来对原始状态修改。这样做的好处是我们可以在方法中控制对状态修改的逻辑,避免引起混乱。

<button onClick={() => store.setUsername('Test')}>change</button>

相关文章
|
前端开发 数据格式
jeecgboot前端antd Table组件动态合并单元格
jeecgboot前端antd Table组件动态合并单元格
559 0
|
JavaScript 前端开发 API
【前端用法】jQuery在线引用地址(全)
【前端用法】jQuery在线引用地址(全)
1865 0
|
Web App开发 移动开发 JavaScript
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
410 0
|
4月前
|
前端开发 JavaScript
深入理解前端状态管理:React、Redux 和 MobX
【10月更文挑战第7天】深入理解前端状态管理:React、Redux 和 MobX
125 0
|
8月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
149 2
|
9月前
|
开发框架 前端开发 开发者
【Flutter前端技术开发专栏】Flutter的Material Design与Cupertino Design风格
【4月更文挑战第30天】Flutter框架支持Material Design和Cupertino Design两种设计风格,助力开发者创建吸引人的移动应用。Material Design基于现实世界物理规律,提供`Scaffold`、`Card`等组件,实现纸片效果和直观体验。Cupertino Design注重简洁图标和流畅动画,借助`CupertinoTabScaffold`、`CupertinoActivityIndicator`等组件呈现苹果风格界面。Flutter的`Theme`类允许统一管理应用样式,开发者可根据需求混搭两种风格,实现跨平台的优质用户体验。
261 0
【Flutter前端技术开发专栏】Flutter的Material Design与Cupertino Design风格
|
缓存 前端开发 JavaScript
【前端用法】jquery获取当前页面的URL信息
【前端用法】jquery获取当前页面的URL信息
108 0
|
移动开发 JavaScript 前端开发
【前端用法】html5实现地理位置定位(JS获取当前地理位置的方法)
【前端用法】html5实现地理位置定位(JS获取当前地理位置的方法)
342 0
|
9月前
|
前端开发 JavaScript
前端 JS 经典:for-in 和 for-of 用法区别
前端 JS 经典:for-in 和 for-of 用法区别
73 0
|
9月前
|
JavaScript 前端开发
前端 JS 经典:ES6 和 CommonJs 用法
前端 JS 经典:ES6 和 CommonJs 用法
73 0

热门文章

最新文章

  • 1
    【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 4
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 5
    详解智能编码在前端研发的创新应用
  • 6
    巧用通义灵码,提升前端研发效率
  • 7
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 8
    智能编码在前端研发的创新应用
  • 9
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 10
    抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目