簡體   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