next.js如何实现单例?

问题描述 投票:0回答:1

我正在尝试使用next.js实现单例模式,但是它似乎没有按我预期的那样工作。这是我尝试实现它的示例。

viewModel.js

class ViewModel {
  static _vm = null;

  static get() {
    if (ViewModel._vm === null) {
      ViewModel._vm = new ViewModel();
    }

    return ViewModel._vm;
  }
}

export default ViewModel;

view.jsx

import ViewModel from './viewModel';

const vm = ViewModel.get();

[基本上,我一直想要相同的实例,但是每次我到达以view.js表示的页面时,都会创建一个新实例。代码分裂是此行为的原因还是其他原因,以及如何使我的代码按预期工作?

javascript reactjs singleton next.js
1个回答
0
投票

Okey,我想出了什么问题。单例模式没问题。问题在于我如何浏览应用程序。我在一个地方使用了next/link,在另一个地方使用了useRouter。在切换到next/link并添加as属性和href之后,一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.