如何利用 ArkTS 进行模块化状态管理?

阅读 548
1 个回答

ArkTS 可通过模块化状态管理将状态集中存储在一个单独模块中,类似于 Redux 的全局状态管理模式。开发者可以通过导入模块,实现跨组件的状态共享。

以下代码展示了一个简单的状态管理模块:

// StateManager.ts
export class StateManager {
  private static instance: StateManager;
  public count: number = 0;

  private constructor() {}

  static getInstance() {
    if (!StateManager.instance) {
      StateManager.instance = new StateManager();
    }
    return StateManager.instance;
  }
}

// MainPage.ets
import { StateManager } from './StateManager';

@Entry
@Component
struct MainPage {
  private stateManager = StateManager.getInstance();

  build() {
    Column() {
      Text(`Count: ${this.stateManager.count}`)
        .fontSize(20);
      Button('Increment')
        .onClick(() => {
          this.stateManager.count++;
        });
    }.padding(20);
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题