gpt4 book ai didi

javascript - util 函数直接导出 vs util 类

转载 作者:行者123 更新时间:2023-12-03 07:18:32 27 4
gpt4 key购买 nike

在我的 React 应用程序中,我想使用一些实用程序。我见过两种不同的方法。第一个是,只是创建函数并将其导出。第二个是,创建一个 Util 类并导出一个对象,这样它就不能被实例化(静态类)。

class Util {
redirectIfAuthenticated = (isAuthenticated, history, screen) => {
if (isAuthenticated)
history.push(screen);
}
}

export default new Util();

对比

export default redirectIfAuthenticated = (isAuthenticated, history, screen) => {
if (isAuthenticated)
history.push(screen);
}

什么是更好的方法,为什么?

最佳答案

单例类通常被认为是反模式。 Util 在这种情况下是一个反模式。类用作命名空间,而模块已经存在以提供命名空间。

对多个导出使用默认导出将防止它们被摇树。

export default redirectIfAuthenticated = ... 是一个错误,它导致在松散模式下创建 redirectIfAuthenticated 全局变量,在严格模式下创建错误。

如果只有一个导出,可以使用默认导出:

export default (isAuthenticated, history, screen) => { ... };

如果可能存在多个导出(即使当前只有一个),可以使用命名导出:

export const redirectIfAuthenticated = (isAuthenticated, history, screen) => { ... };

关于javascript - util 函数直接导出 vs util 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54396305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com