最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mobx在react hooks中的應(yīng)用方式

 更新時(shí)間:2023年10月13日 09:17:38   作者:Ctrl30xsx  
這篇文章主要介紹了mobx在react hooks中的應(yīng)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mobx在react hooks的應(yīng)用

hooks 實(shí)現(xiàn)inject功能

// utils/useStores.js
import React from 'react'
import { MobXProviderContext} from 'mobx-react';
import RootStore from '~/stores/index'
const useStores = (name) => React.useContext(MobXProviderContext)[name]
export default useStores

局部的store

// store.js
import { observable, action } from 'mobx';
class Store {
  @observable userInfo = { name: 'xsx' };
  @observable count = 11;
  @action
  handleClick() {
    this.count +=1;
  }
}
export default Store;

頁(yè)面中使用

import React, { ReactElement } from 'react';
import Store from './store.ts';
import useStores from '~/utils/useStores';
import { useObserver, useObservable } from 'mobx-react-lite';
interface Props {
  [props: string]: any;
}
export default function index(props: any): ReactElement {
//  手動(dòng)傳入字符串,選擇要使用的內(nèi)容 該處為全局store的引用,與之前的class下的@inject('userStore')同理
  const globalStore = useStores('userStore'); 
  // 添加觀察者模式 該處為局部的store 與之前class下的  let myStore = new Store(); 同理
  let myStore = useObservable(new Store()); 
  return useObserver(() => (
    <div>
      {myStore.count}
      ====================
      {store.count}
      <button
        onClick={() => {
          myStore.handleClick();
          globalStore .handleClick();
        }}
      >
        add
      </button>
    </div>
  ));
}

mobx與react hooks配合使用

import React from 'react';
import {useObserver, Observer, observer} from 'mobx-react';
import {appStore} from './appStore';
// 方法1:
function Methods1() {
    return useObserver(() => (
        <div onClick={() => {appStore.count = 1}}>{appStore.count}</div>
    ))
}
// 方法2(Observer一定要用函數(shù)):
function Methods2 () {
    return (
        <Observer>
            {() => <div onClick={() => {appStore.count = 1}}>{appStore.count}</div>}   
        </Observer>
    )
}
// 方法3(推薦):
export default observer(props => {
    return <div onClick={() => {appStore.count = 1}}>{appStore.count}</div>
})
 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • React+Ant Design前端實(shí)現(xiàn)讀取與導(dǎo)出Excel文件

    React+Ant Design前端實(shí)現(xiàn)讀取與導(dǎo)出Excel文件

    在實(shí)際業(yè)務(wù)場(chǎng)景中,我們經(jīng)常需要處理 Excel 文件的導(dǎo)入導(dǎo)出,本文將以 React + Ant Design 項(xiàng)目為例,演示如何通過(guò) xlsx 庫(kù)實(shí)現(xiàn)以下功能,希望對(duì)大家有所幫助
    2025-08-08
  • 在React中使用SVG的幾種方式

    在React中使用SVG的幾種方式

    在React中,SVG(Scalable?Vector?Graphics)的使用非常普遍,因?yàn)樗鼈兲峁┝丝缮炜s的矢量圖形,這對(duì)于現(xiàn)代Web應(yīng)用來(lái)說(shuō)是非常重要的,以下是幾種常見(jiàn)的在React中使用SVG的方法,每種方法都有其特定的用例和最佳實(shí)踐,需要的朋友可以參考下
    2024-11-11
  • react之組件通信詳解

    react之組件通信詳解

    本篇文章主要介紹了React組件通信詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • Taro?React自定義TabBar使用useContext解決底部選中異常

    Taro?React自定義TabBar使用useContext解決底部選中異常

    這篇文章主要為大家介紹了Taro?React底部自定義TabBar使用React?useContext解決底部選中異常(需要點(diǎn)兩次才能選中的問(wèn)題)示例詳解,有需要的朋友可以借鑒參考下
    2023-08-08
  • React?echarts?組件的封裝使用案例

    React?echarts?組件的封裝使用案例

    這篇文章主要介紹了React?echarts?組件的封裝,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • React?state結(jié)構(gòu)設(shè)計(jì)原則示例詳解

    React?state結(jié)構(gòu)設(shè)計(jì)原則示例詳解

    這篇文章主要為大家介紹了React?state結(jié)構(gòu)設(shè)計(jì)原則示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • React狀態(tài)管理的項(xiàng)目實(shí)踐

    React狀態(tài)管理的項(xiàng)目實(shí)踐

    本文主要介紹了狀態(tài)管理的概念,包括本地狀態(tài)和全局狀態(tài)的管理方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • React中的refs的使用教程

    React中的refs的使用教程

    本篇文章主要介紹了React中的refs的使用教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • react頁(yè)面中存在多個(gè)input時(shí)巧妙設(shè)置value屬性方式

    react頁(yè)面中存在多個(gè)input時(shí)巧妙設(shè)置value屬性方式

    這篇文章主要介紹了react頁(yè)面中存在多個(gè)input時(shí)巧妙設(shè)置value屬性方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 字節(jié)封裝React組件手機(jī)號(hào)自動(dòng)校驗(yàn)格式FormItem

    字節(jié)封裝React組件手機(jī)號(hào)自動(dòng)校驗(yàn)格式FormItem

    這篇文章主要為大家介紹了字節(jié)封裝React組件手機(jī)號(hào)自動(dòng)校驗(yàn)格式FormItem,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08

最新評(píng)論

绩溪县| 文登市| 拉孜县| 定西市| 张家川| 泉州市| 双辽市| 安宁市| 安义县| 和田市| 高雄市| 金华市| 久治县| 定陶县| 静乐县| 交城县| 明星| 潜江市| 建始县| 崇左市| 马山县| 呼伦贝尔市| 克东县| 清远市| 堆龙德庆县| 丹江口市| 赤水市| 沈丘县| 周口市| 乡宁县| 乐陵市| 宁晋县| 民和| 廉江市| 嘉祥县| 兴隆县| 达孜县| 揭阳市| 广灵县| 九寨沟县| 驻马店市|