Browse Source

practise

master
MYW 2 years ago
parent
commit
214a4b95a3
  1. BIN
      practise/33.Mobx/1.mobx介绍.png
  2. BIN
      practise/33.Mobx/2.mobx优势.png
  3. BIN
      practise/33.Mobx/3.mobx环境配置.png
  4. BIN
      practise/33.Mobx/4.mobx环境配置2.png
  5. BIN
      practise/33.Mobx/5.store/1.store案例需求.png
  6. BIN
      practise/33.Mobx/5.store/2.步骤1(初始化mobx).png
  7. BIN
      practise/33.Mobx/5.store/3.步骤2(连接react).png
  8. 23
      practise/33.Mobx/5.store/counter.js
  9. 18
      practise/33.Mobx/5.store/index.js
  10. 30
      practise/33.Mobx/6.computed/counter.js
  11. 17
      practise/33.Mobx/6.computed/index.js
  12. BIN
      practise/33.Mobx/6.computed/实现步骤.png
  13. BIN
      practise/33.Mobx/7.mobx模块化/1.mobx模块化.png
  14. BIN
      practise/33.Mobx/7.mobx模块化/2.步骤.png
  15. BIN
      practise/33.Mobx/7.mobx模块化/3.实例化root并封装统一useStore方法.png
  16. BIN
      practise/33.Mobx/mobx基础总结.png

BIN
practise/33.Mobx/1.mobx介绍.png

After

Width: 1292  |  Height: 749  |  Size: 252 KiB

BIN
practise/33.Mobx/2.mobx优势.png

After

Width: 831  |  Height: 682  |  Size: 221 KiB

BIN
practise/33.Mobx/3.mobx环境配置.png

After

Width: 1394  |  Height: 597  |  Size: 339 KiB

BIN
practise/33.Mobx/4.mobx环境配置2.png

After

Width: 859  |  Height: 762  |  Size: 161 KiB

BIN
practise/33.Mobx/5.store/1.store案例需求.png

After

Width: 1144  |  Height: 763  |  Size: 184 KiB

BIN
practise/33.Mobx/5.store/2.步骤1(初始化mobx).png

After

Width: 1254  |  Height: 770  |  Size: 247 KiB

BIN
practise/33.Mobx/5.store/3.步骤2(连接react).png

After

Width: 1166  |  Height: 732  |  Size: 362 KiB

23
practise/33.Mobx/5.store/counter.js

@ -0,0 +1,23 @@
// 初始化 mobx
import { makeAutoObservable } from 'mobx'
class CounterStore {
// 1.定义数据
count = 0
// constructor() 是构造函数 作用:1.初始化this.state 2.函数方法绑定到实例。
constructor() {
// 2. 将数据弄成响应式
makeAutoObservable(this)
}
// 3.定义 action 函数 (修改数据)
addCount = () => {
this.count++
}
}
// 4.实例化,然后导出给 react 使用
const counterStore = new CounterStore()
export {counterStore}

18
practise/33.Mobx/5.store/index.js

@ -0,0 +1,18 @@
// 1.导入 countStore
import { counterStore } from './store/counter'
// 2.导入中间件,连接mobx、react,完成响应式变化
import { observer } from 'mobx-react-lite'
function App () {
return (
<div className="App">
{/* 把 store 中的 count */}
{counterStore.count}
<br />
{/* 点击事件触发 action 函数修改 count 值 */}
<button onClick={counterStore.addCount}>+</button>
</div>
)
}
export default observer(App)

30
practise/33.Mobx/6.computed/counter.js

@ -0,0 +1,30 @@
// 初始化 mobx
import { makeAutoObservable } from 'mobx'
class CounterStore {
// 定义一个原始数据 list
list = [1, 2, 3, 4, 5, 6]
// constructor() 是构造函数 作用:1.初始化this.state 2.函数方法绑定到实例。
constructor() {
// 将数据弄成响应式
makeAutoObservable(this)
}
// 定义计算属性
// get() 方法通过索引值获取动态数组中的元素。
get filterList () {
return this.list.filter(item => item > 2)
}
// 修改 list
addList = () => {
this.list.push(7, 8, 9)
}
}
// 4.实例化,然后导出给 react 使用
const counterStore = new CounterStore()
export {counterStore}

17
practise/33.Mobx/6.computed/index.js

@ -0,0 +1,17 @@
// 1.导入 countStore
import { counterStore } from './store/counter'
// 2.导入中间件,连接mobx、react,完成响应式变化
import { observer } from 'mobx-react-lite'
function App () {
return (
<div className="App">
{/* 使用就算属性 */}
{counterStore.filterList.join('-')}
<br/>
<button onClick={counterStore.addList}>修改数组</button>
</div>
)
}
export default observer(App)

BIN
practise/33.Mobx/6.computed/实现步骤.png

After

Width: 1353  |  Height: 663  |  Size: 234 KiB

BIN
practise/33.Mobx/7.mobx模块化/1.mobx模块化.png

After

Width: 1232  |  Height: 702  |  Size: 180 KiB

BIN
practise/33.Mobx/7.mobx模块化/2.步骤.png

After

Width: 1328  |  Height: 545  |  Size: 312 KiB

BIN
practise/33.Mobx/7.mobx模块化/3.实例化root并封装统一useStore方法.png

After

Width: 1496  |  Height: 902  |  Size: 299 KiB

BIN
practise/33.Mobx/mobx基础总结.png

After

Width: 853  |  Height: 565  |  Size: 241 KiB

Loading…
Cancel
Save