繁体   English   中英

跨多个 React 组件共享一个 JavaScript 类

[英]Sharing a JavaScript class across multiple React components

我有一个 Javascript 类,它充当与 API 对话的数据控制器。

我需要从多个反应组件调用该类的方法。

目前我正在 redux 存储中存储类的一个实例,但是我知道这是一种糟糕的设计方法。

如何跨多个组件共享单个实例?

有几种方法可以处理这个问题。 就我个人而言,我使用提供程序文件导出一个实例,我可以在需要时导入该实例。

假设我需要在我的应用程序中使用相同的类实例Foo 我会将Foo导入到一个提供程序文件中,该文件创建并导出它的一个实例。 然后我会从我需要的那个提供者导入实例:

文件, Foo.js

class Foo {};

export default Foo;

文件, FooProvider.js

import Foo from './Foo';

export let foo = new Foo();

组件文件:

import foo from './FooProvider';
import React, { Component } from 'react';

Class MyComponent extends Component {
    someMethod () {
        //use foo
    }
}

export default MyComponent;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM