目标
- Antd Design
- 掌握Antd的引用方法
- 掌握Antd各个组件的使用方法
- 了解mobx的基础用法
Ant Design
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>