在 JavaScript 中的 NEXT 中组合函数调用和 HTML 标记
Combining function calls and HTML tags in NEXT in JavaScript
假设我有一个名为 Foo()
的函数,它输出 "Hello world!",我想创建一个名为 Bar()
的函数,它接受 Foo()
的输出,并且加粗它。期望的输出:
Hello world!
我尝试过的事情:
function Bar() {
return <b>Foo()</b>;
}
输出:Foo()
function Bar() {
var f = <b>Foo()</b>;
return f;
}
输出:Foo()
function Bar() {
var f = Foo();
return <b>f</b>;
}
输出:f
function Bar() {
return "<b>" + Foo() + "</b>";
}
输出:<b>[object Object]</b>
我需要做什么才能得到 Hello world! 作为输出?
如果你想在 JSX 中包含一个字符串,你必须将它添加到花括号中。
这是一个例子:
function Bar() {
return <b>{ Foo() }</b>;
}
我想出了如何去做,虽然对于来自 C# 和 C++ 的人来说并不明显。
您需要用大括号将 HTML 标记之间声明的所有代码括起来,如下所示:
function Bar() {
return <b>{Foo()}</b>;
}
代码 {Foo()}
将 运行 函数 Foo
并获得其输出。这里也可以放变量,比如上面一行有var myfoo = Foo();
,那么{myfoo}
会解析成同样的输出。
您可以使用 DOM api 创建元素并将其 .innerText 属性 设置为 Foo() 函数返回的值:
function Bar() {
const boldElem = document.createElement("B");
return boldElem.innerText = Foo()
}
假设我有一个名为 Foo()
的函数,它输出 "Hello world!",我想创建一个名为 Bar()
的函数,它接受 Foo()
的输出,并且加粗它。期望的输出:
Hello world!
我尝试过的事情:
function Bar() {
return <b>Foo()</b>;
}
输出:Foo()
function Bar() {
var f = <b>Foo()</b>;
return f;
}
输出:Foo()
function Bar() {
var f = Foo();
return <b>f</b>;
}
输出:f
function Bar() {
return "<b>" + Foo() + "</b>";
}
输出:<b>[object Object]</b>
我需要做什么才能得到 Hello world! 作为输出?
如果你想在 JSX 中包含一个字符串,你必须将它添加到花括号中。 这是一个例子:
function Bar() {
return <b>{ Foo() }</b>;
}
我想出了如何去做,虽然对于来自 C# 和 C++ 的人来说并不明显。
您需要用大括号将 HTML 标记之间声明的所有代码括起来,如下所示:
function Bar() {
return <b>{Foo()}</b>;
}
代码 {Foo()}
将 运行 函数 Foo
并获得其输出。这里也可以放变量,比如上面一行有var myfoo = Foo();
,那么{myfoo}
会解析成同样的输出。
您可以使用 DOM api 创建元素并将其 .innerText 属性 设置为 Foo() 函数返回的值:
function Bar() {
const boldElem = document.createElement("B");
return boldElem.innerText = Foo()
}