如何重构由同一函数定义的导出常量的长列表,使其更加干燥

时间:2019-06-14 09:42:26

标签: javascript es6-modules

我目前正在准备多个包含翻译关键字的文件,其中每个关键字都是一个命名的导出文件,可以将其导入到我的ReactJS项目中的任何组件中。我试图将文件尽可能地保持为DRY,但是我遇到了一个问题,即一次又一次地重写同一函数以为每个命名的导出生成密钥,并且想知道是否有一种更干净的方法可以只编写一次函数

我已经考虑过通过遍历每个键并将其传递给函数来导出包含所有键的单个对象,但是这种方法将打破树形摇动,因为我还希望将代码拆分的块保持为尽可能小无需导入任何未使用的密钥就可以实现。

import { getTranslationKey } from '../../libs/Translation'

const root = "button"
const getButtonKey = (key) => getTranslationKey(root, key)

// each named export will be in the format of root.key e.g. "button.update"
export const BUTTON_UPDATE_KEY = getButtonKey('update')
export const BUTTON_SAVE_KEY = getButtonKey('save')
export const BUTTON_CANCEL_KEY = getButtonKey('cancel')

// more named exports using the getButtonKey arrow function

0 个答案:

没有答案