P粉7627302052023-08-16 00:19:42
就最终结果而言,没有区别。然而,性能方面,前者稍微快一点。但是限制是子元素必须只能是文本。可能有情况下你想要文本和其他内容作为子元素。在这种情况下,你可以使用createTextVNode()
和适当的标志之一,其中之一是$HasVNodeChildren
。你可以在文档中看到标志的列表:https://www.infernojs.org/docs/guides/optimizations
作为额外的说明,如果编译器在编译时可以看到它,你不必自己定义子元素的形状。所以,不需要这样写:
function Hello() { return <p $HasTextChildren>Hello</p>; }
你可以简单地写成:
function Hello() { return <p>Hello</p>; }