【前端第十五课】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>

相关文章
|
8月前
|
前端开发 数据格式
jeecgboot前端antd Table组件动态合并单元格
jeecgboot前端antd Table组件动态合并单元格
283 0
|
9月前
|
JavaScript 前端开发 API
【前端用法】jQuery在线引用地址(全)
【前端用法】jQuery在线引用地址(全)
1221 0
|
9月前
|
Web App开发 移动开发 JavaScript
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
236 0
|
1月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
34 2
|
2月前
|
开发框架 前端开发 开发者
【Flutter前端技术开发专栏】Flutter的Material Design与Cupertino Design风格
【4月更文挑战第30天】Flutter框架支持Material Design和Cupertino Design两种设计风格,助力开发者创建吸引人的移动应用。Material Design基于现实世界物理规律,提供`Scaffold`、`Card`等组件,实现纸片效果和直观体验。Cupertino Design注重简洁图标和流畅动画,借助`CupertinoTabScaffold`、`CupertinoActivityIndicator`等组件呈现苹果风格界面。Flutter的`Theme`类允许统一管理应用样式,开发者可根据需求混搭两种风格,实现跨平台的优质用户体验。
【Flutter前端技术开发专栏】Flutter的Material Design与Cupertino Design风格
|
2月前
|
前端开发 JavaScript
前端 JS 经典:for-in 和 for-of 用法区别
前端 JS 经典:for-in 和 for-of 用法区别
27 0
|
2月前
|
JavaScript 前端开发
前端 JS 经典:ES6 和 CommonJs 用法
前端 JS 经典:ES6 和 CommonJs 用法
27 0
|
2月前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
|
2月前
|
前端开发 IDE 开发工具
csdn新星计划vue3+ts+antd赛道——利用inscode搭建vue3(ts)+antd前端模板
csdn新星计划vue3+ts+antd赛道——利用inscode搭建vue3(ts)+antd前端模板
23 0
|
2月前
|
NoSQL JavaScript 前端开发
报错场景:ant design vue前端登录时,输入的验证码是对的,但是一直提上验证码错误,登录不进去 报错信息(Error in execution; nested exception)
报错场景:ant design vue前端登录时,输入的验证码是对的,但是一直提上验证码错误,登录不进去 报错信息(Error in execution; nested exception)
35 0