我正在使用我的ReactJS项目中使用的URL构建一个constants.js
文件。这些字符串包括可与URL一起使用的查询参数。但是,这些字符串中使用的值仅在使用该字符串的组件中可用,而在常量文件本身中不可用。例如,我想要这样的东西:
export const BASE_URL = 'https://example.com';
export const FOO_QUERY = '?foo=%s';
其中%s
只是一个占位符,以后可以在组件中替换。 (出于示例目的,我从C借用了printf()
语法。)在JavaScript中执行类似操作的正确语法是什么?甚至有可能吗?
答案 0 :(得分:4)
我可能会在函数中使用模板文字:该组件使用foo
值调用该函数:
export const fooQuery = foo => `?foo=${foo}`;
用法:
const query = fooQuery("foo value");
答案 1 :(得分:1)
有了标记的模板文字,您可以做到:
function query(parts, ...pos) {
return apply(...args) {
return parts.map((part, i) => part + args[ pos[i] ]).join("");
}
}
可用作:
const find = query`?name=${0}&fullname=${0}&age=${1}`;
console.log(find("jonas", 18));
答案 2 :(得分:0)
let string = 'bar';
console.log("Foo %s", string);
var teststr = (string) => `Foo ${string}`; //result: Foo bar