【发布时间】:2023-04-09 21:39:02
【问题描述】:
假设我有一个需要在我的 React 应用程序中实例化的 Node.js 库。
const awesomeLibrary = new AwesomeLibrary('someID', options);
awesomeLibrary 允许我执行 awesomeLibrary.configure()、awesomeLibrary.specifyCustomProperty() 和 awesomeLibrary.fireEvent() 之类的操作。
我想实例化一次,然后从我的应用程序周围的实例化引用 (awesomeLibrary) 中调用这些方法。最好的方法是什么?
我会在顶级入口组件(例如_app.tsx)中实例化它,将其导出,将其导入其他组件并调用方法吗?为了导出它,我必须在组件之外实例化它,而不是在组件的生命周期中。这是一种不好的做法吗?
或者,我可以将实例化归类为钩子吗?说 useAwesomeLibrary() 我在其中实例化和导出方法?但是每次从不同组件调用钩子时不会创建一个实例吗?
我真的不知道如何处理。
【问题讨论】: